|
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.