4 #include "Tourist/Message/RemoteNode.h"
5 #include "Tourist/LocalNode.h"
6 #include "Tourist/App/Application.h"
7 #include "Tourist/Message/MessageTypeData.h"
8 #include "Tourist/Message/MsgMulticast.h"
9 #include "Tourist/Message/MessageHeader.h"
10 #include "Poco/Runnable.h"
11 #include "Poco/NotificationQueue.h"
14 using Tourist::Message::RemoteNode
;
15 using Tourist::Message::MessageDispatcher
;
16 using Tourist::Message::MessageTypeData
;
17 using Tourist::Message::MessageHeader
;
18 using Tourist::Message::MsgMulticast
;
19 using Tourist::App::Application
;
21 using Poco::NotificationQueue
;
23 using Tourist::Message::MessageTypeData
;
29 class Multicast
: public Runnable
{
31 Multicast(Application
*_app
, int objCount
);
38 //void levelChangeEvent(int newLevel, LocalNode *localNode);
39 void levelChangeEvent(int newLevel
, Node
*localNode
);
40 int sendEvent(Node
*source
, Node
*target
, int event_type
, int step
);
41 void receiveMulticastMsg();
42 void onMulticastMsg(const AutoPtr
<MessageNotification
>& notification
);
43 void multicastRouting(Node
* source
, int event_type
, int step
);
48 bool shouldBeRunning
, isStopped
;
51 NotificationQueue queue
;
53 //Used for Debug purpose
55 const static bool debugFlag
= true;
61 #endif /*MULTICAST_H_*/