Пример #1
0
    inline void HandlerTwo(const Message &message, const xlang2::Address from)
    {
        printf("Handler TWO received message with value '%d'\n", message.mValue);

        // Switch to handler one
        DeregisterHandler(this, &ExampleActor::HandlerTwo);
        RegisterHandler(this, &ExampleActor::HandlerOne);

        Send(message, from);
    }
Пример #2
0
    inline void Start(const StartMessage &message, const Theron::Address /*from*/)
    {
        mCaller   = message.mCaller;
        mConsumer = message.mConsumer;
        mEventQ   = message.mEventQ;

        std::cout << "Producer Start" << std::endl;

        DeregisterHandler(this, &Producer::Start);
        RegisterHandler(this, &Producer::Receive);
    }
Пример #3
0
    inline void WaitForAck(const int &message, const Theron::Address /*from EQ*/){

        if (message < 0){
            std::cout<<"Producer received ACK: "<<message<<std::endl;
            Send(message, mCaller);

            // Start Receiving message to produce
            DeregisterHandler(this, &Producer::WaitForAck);
            RegisterHandler(this, &Producer::Receive);
        }
        else
        {
            std::cout<<"Failed ACK signal | Ensure ACK is proper: "<<message<<std::endl;
            Send(message, mCaller);
        }
    }
Пример #4
0
    inline void Receive(const int &message, const Theron::Address /*from*/)
    {
        if (message > 0)
        {
            std::cout<<"Producer will start producing -> "<<message<<std::endl;
            Send(message, mEventQ);

            // Wait for Acknowledge
            DeregisterHandler(this, &Producer::Receive);
            RegisterHandler(this, &Producer::WaitForAck);
        }
        else
        {
            std::cout<<"Failed producing message | Ensure message is proper: "<<message<<std::endl;
            Send(message, mCaller);
        }
    }
Пример #5
0
FrameworkManager::~FrameworkManager()
{
  DeregisterHandler(Exchange::RemoteSubscription::descriptor());
  DeregisterHandler(Exchange::Wrapper::descriptor());
}
Пример #6
0
FrameworkManagerY::~FrameworkManagerY()
{
  DeregisterHandler(Exchange::StringParameter::descriptor());
}