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().
1.7.1