No churn generating class (only bootstraps a networks). More...
#include <NoChurn.h>
Public Member Functions | |
void | handleMessage (cMessage *msg) |
void | initializeChurn () |
~NoChurn () | |
Protected Member Functions | |
void | updateDisplayString () |
Private Attributes | |
double | initialMean |
mean of update interval during initalization phase | |
double | initialDeviation |
deviation of update interval during initalization phase | |
bool | initAddMoreTerminals |
true, if we're still adding more terminals in the init phase | |
cMessage * | mobilityTimer |
message to schedule events |
No churn generating class (only bootstraps a networks).
Definition at line 36 of file NoChurn.h.
NoChurn::~NoChurn | ( | ) |
Definition at line 77 of file NoChurn.cc.
{ // destroy self timer messages cancelAndDelete(mobilityTimer); }
void NoChurn::handleMessage | ( | cMessage * | msg | ) | [virtual] |
Implements ChurnGenerator.
Definition at line 45 of file NoChurn.cc.
{ if (!msg->isSelfMessage()) { throw cRuntimeError("NoChurn::handleMessage(): " "Unknown message received!"); delete msg; return; } if (msg == mobilityTimer) { if (terminalCount < targetOverlayTerminalNum) { TransportAddress* ta = underlayConfigurator->createNode(type); delete ta; // Address not needed in this churn model } if (terminalCount >= targetOverlayTerminalNum) { initAddMoreTerminals = false; underlayConfigurator->initFinished(); } else { scheduleAt(simTime() + truncnormal(initialMean, initialDeviation), msg); } } }
void NoChurn::initializeChurn | ( | ) | [virtual] |
Implements ChurnGenerator.
Definition at line 31 of file NoChurn.cc.
{ Enter_Method_Silent(); initialMean = par("initPhaseCreationInterval"); initialDeviation = initialMean / 3; targetOverlayTerminalNum = par("targetOverlayTerminalNum"); initAddMoreTerminals = true; mobilityTimer = new cMessage("mobilityTimer"); scheduleAt(simTime(), mobilityTimer); }
void NoChurn::updateDisplayString | ( | ) | [protected, virtual] |
Implements ChurnGenerator.
Definition at line 70 of file NoChurn.cc.
{ char buf[80]; sprintf(buf, "No churn"); getDisplayString().setTagArg("t", 0, buf); }
bool NoChurn::initAddMoreTerminals [private] |
true, if we're still adding more terminals in the init phase
Definition at line 49 of file NoChurn.h.
Referenced by handleMessage(), and initializeChurn().
double NoChurn::initialDeviation [private] |
deviation of update interval during initalization phase
Definition at line 48 of file NoChurn.h.
Referenced by handleMessage(), and initializeChurn().
double NoChurn::initialMean [private] |
mean of update interval during initalization phase
Definition at line 47 of file NoChurn.h.
Referenced by handleMessage(), and initializeChurn().
cMessage* NoChurn::mobilityTimer [private] |
message to schedule events
Definition at line 50 of file NoChurn.h.
Referenced by handleMessage(), initializeChurn(), and ~NoChurn().