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 Attributes | |
cMessage * | sendPacketTimer |
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.
void I3Multicast::deliver | ( | I3Trigger & | trigger, | |
I3IdentifierStack & | stack, | |||
cPacket * | msg | |||
) | [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.
{ getParentModule()->bubble("Got a message!"); delete msg; }
void I3Multicast::handleTimerEvent | ( | cMessage * | msg | ) | [virtual] |
Handles timers - should be overwritten by application.
msg | Timer to be handled |
Reimplemented from I3BaseApp.
Definition at line 64 of file I3Multicast.cc.
{ if (msg == sendPacketTimer) { cPacket *cmsg = new cPacket("woot"); I3Identifier id("whee"); getParentModule()->bubble("Sending message!"); sendPacket(id, cmsg); scheduleAt(simTime() + 20, sendPacketTimer); } else delete msg; }
void I3Multicast::initializeApp | ( | int | stage | ) | [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.
{ }
void I3Multicast::initializeI3 | ( | ) | [virtual] |
Application I3 initialize - should be overwritten by application.
Reimplemented from I3BaseApp.
Definition at line 48 of file I3Multicast.cc.
{ sendPacketTimer = new cMessage("packet timer"); scheduleAt(simTime() + 20, sendPacketTimer); I3Identifier identifier("whee"); insertTrigger(identifier); }
cMessage* I3Multicast::sendPacketTimer |
Definition at line 36 of file I3Multicast.cc.
Referenced by handleTimerEvent(), and initializeI3().