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; }