Private Member Functions | |
void | initializeI3 () |
Application I3 initialize - should be overwritten by application. | |
void | handleTimerEvent (cMessage *msg) |
Handles timers - should be overwritten by application. |
void I3TRTClient::initializeI3 | ( | ) | [private, virtual] |
Application I3 initialize - should be overwritten by application.
Reimplemented from I3BaseApp.
00080 { 00081 cMessage *msg = new cMessage(); 00082 msg->setKind(TRIGGER_TIMER); 00083 scheduleAt(simulation.simTime() + int(par("triggerDelay")), msg); 00084 }
void I3TRTClient::handleTimerEvent | ( | cMessage * | msg | ) | [private, virtual] |
Handles timers - should be overwritten by application.
msg | Timer to be handled |
Reimplemented from I3BaseApp.
00086 { 00087 if (msg->kind() == TRIGGER_TIMER) { 00088 00089 I3Identifier id; 00090 I3Trigger t; 00091 I3InsertTriggerMessage *imsg = new I3InsertTriggerMessage(); 00092 I3IPAddress myAddress(nodeIPAddress, par("clientPort")); 00093 00094 id.createRandomKey(); 00095 t.setIdentifier(id); 00096 t.getIdentifierStack().push(myAddress); 00097 00098 00099 imsg->setTrigger(t); 00100 imsg->setSendReply(true); 00101 imsg->setSource(myAddress); 00102 imsg->setLength(INSERT_TRIGGER_L(imsg)); 00103 imsg->setContextPointer(new simtime_t(simulation.simTime())); 00104 00105 sendThroughUDP(imsg, gateway.address); 00106 scheduleAt(simulation.simTime() + int(par("triggerDelay")), msg); 00107 } 00108 }