OverSim
|
Simple module to test I3 multicast capabilities. More...
Public Member Functions | |
void | initializeApp (int stage) |
App initialization - should be overwritten by application. | |
void | initializeI3 () |
Application I3 initialize - should be overwritten by application. | |
void | deliver (I3Trigger &trigger, I3IdentifierStack &stack, cPacket *msg) |
Delivers packets coming from I3 - should be overwritten by application. | |
void | handleTimerEvent (cMessage *msg) |
Handles timers - should be overwritten by application. | |
Public Member Functions inherited from I3BaseApp | |
I3BaseApp () | |
Constructor. | |
~I3BaseApp () | |
Destructor. |
Public Attributes | |
cMessage * | sendPacketTimer |
Additional Inherited Members | |
Protected Types inherited from I3BaseApp | |
enum | I3MobilityStage { I3_MOBILITY_BEFORE_UPDATE, I3_MOBILITY_UPDATED } |
Protected Member Functions inherited from I3BaseApp | |
int | numInitStages () const |
Returns number of init stages required. | |
void | initialize (int stage) |
Basic initialization. | |
void | bootstrapI3 () |
Internal I3 bootstrap - connects to I3, inserts sampling triggers and initializes timers. | |
virtual void | handleUDPMessage (cMessage *msg) |
Handles messages incoming from UDP gate. | |
void | handleMessage (cMessage *msg) |
Handles incoming messages. | |
void | sendToI3 (I3Message *msg) |
Sends a message to I3. | |
void | sendThroughUDP (cMessage *msg, const I3IPAddress &ip) |
Sends a message through UDP. | |
void | refreshTriggers () |
Refreshes (reinserts) stored triggers. | |
void | refreshSamples () |
Refreshes sampling triggers and selects fastest server as gateway. | |
I3Identifier | retrieveClosestIdentifier () |
void | sendPacket (const I3Identifier &id, cPacket *msg, bool useHint=false) |
Routes a packet through I3, passing an identifier stack composed of a single identifier. | |
void | sendPacket (const I3IdentifierStack &stack, cPacket *msg, bool useHint=false) |
Routes a packet through I3. | |
void | insertTrigger (const I3Identifier &identifier, bool store=true) |
Inserts a trigger into I3, composed by the given identifier and an identifier stack containing only this node's IP address. | |
void | insertTrigger (const I3Identifier &identifier, const I3IdentifierStack &stack, bool store=true) |
Inserts a trigger into I3 with the given identifier and identifier stack. | |
void | insertTrigger (const I3Trigger &t, bool store=true) |
Inserts the given trigger into I3. | |
void | removeTrigger (const I3Identifier &identifier) |
Removes all triggers from the list of inserted triggers whose identifiers equal the one given. | |
void | removeTrigger (const I3Trigger &trigger) |
Removes a trigger from I3. | |
std::set< I3Trigger > & | getInsertedTriggers () |
Returns the list of inserted triggers. | |
void | receiveChangeNotification (int category, const cPolymorphic *details) |
virtual void | doMobilityEvent (I3MobilityStage stage) |
Protected Attributes inherited from I3BaseApp | |
int | numSent |
Number of sent messages. | |
int | sentBytes |
int | numReceived |
Number of received messages. | |
int | receivedBytes |
int | numIsolations |
Number of times this node has been isolated - i.e. | |
IPvXAddress | nodeIPAddress |
Cached IP address of this node. | |
std::set< I3Trigger > | insertedTriggers |
Stored I3 triggers sent from this node, to be refreshed automatically. | |
std::map< I3Identifier, I3CachedServer > | samplingCache |
std::map< I3Identifier, I3CachedServer > | identifierCache |
I3CachedServer | gateway |
cMessage * | refreshTriggersTimer |
int | refreshTriggersTime |
cMessage * | refreshSamplesTimer |
int | refreshSamplesTime |
cMessage * | initializeTimer |
cMessage * | bootstrapTimer |
Simple module to test I3 multicast capabilities.
All nodes register the same identifier, then one node sends a message to that identifier. All participating nodes receive the packet .
Definition at line 33 of file I3Multicast.cc.
|
virtual |
Delivers packets coming from I3 - should be overwritten by application.
trigger | Application trigger to which the packet was sent |
stack | Identifier stack passed from I3 |
msg | Arriving message |
Reimplemented from I3BaseApp.
Definition at line 58 of file I3Multicast.cc.
|
virtual |
Handles timers - should be overwritten by application.
msg | Timer to be handled |
Reimplemented from I3BaseApp.
Definition at line 64 of file I3Multicast.cc.
|
virtual |
App initialization - should be overwritten by application.
I3 related commands should go in initializeI3.
stage | Initialization stage passed from initialize() |
Reimplemented from I3BaseApp.
Definition at line 44 of file I3Multicast.cc.
|
virtual |
Application I3 initialize - should be overwritten by application.
Reimplemented from I3BaseApp.
Definition at line 48 of file I3Multicast.cc.
cMessage* I3Multicast::sendPacketTimer |
Definition at line 36 of file I3Multicast.cc.