Example #1
0
int main(int argc, char** argv)
{

    Communicator communicator(argv[1]);
    Waiter* waiter = new Waiter(SINGLE_MSG);

    InterAppMessage message3 = INCOMING_BEFORE_MSG;
    InterAppMessage message2 = APPLICATION_UP_MSG;

    InterAppMessage result;

    communicator.addWaiter(waiter);

    std::cout << "!!!!!!!!!!!!!!!!!!!! created" << std::endl;

//TEST1  
    result = waiter->waitMessage(message2, 20000);
    std::cout << "!!!!!!!!!!!!!!!!!!!! wait complete, result: " << result << std::endl;
    communicator.sendMessage(message3);
    std::cout << "!!!!!!!!!!!!!!!!!!!! sent" << std::endl;

//TEST2
    result = waiter->waitMessage(message2, 10000);
    std::cout << "!!!!!!!!!!!!!!!!!!!! wait complete, result: " << result << std::endl;
    result = waiter->waitMessage(message3, 30000);
    std::cout << "!!!!!!!!!!!!!!!!!!!! wait complete, result: " << result << std::endl;
    std::cout << "!!!!!!!!!!!!!!!!!!!! end: " << std::endl;
    sleep(10);
    communicator.sendMessage(message2);

    communicator.removeWaiter(waiter);

    return 0;
}