ChurnGenerator Class Reference

#include <ChurnGenerator.h>

Inheritance diagram for ChurnGenerator:

LifetimeChurn NoChurn ParetoChurn RandomChurn TraceChurn

List of all members.


Detailed Description

Base class for different churn models.

Public Member Functions

virtual int numInitStages () const
virtual void initialize (int stage)
virtual void initializeChurn ()=0
virtual void handleMessage (cMessage *msg)=0
void setNodeType (NodeType t)

Public Attributes

bool init
 still in initialization phase?
int terminalCount
 current number of overlay terminals

Protected Member Functions

virtual void updateDisplayString ()=0

Protected Attributes

UnderlayConfiguratorunderlayConfigurator
int targetOverlayTerminalNum
 final number of overlay terminals
NodeType type
 the nodeType this generator is responsible for

Member Function Documentation

virtual int ChurnGenerator::numInitStages (  )  const [inline, virtual]

00060 { return MAX_STAGE_UNDERLAY + 1; }

void ChurnGenerator::initialize ( int  stage  )  [virtual]

00028 {
00029     // because of IPAddressResolver, we need to wait until interfaces are registered,
00030     // address auto-assignment takes place etc.
00031     if (stage != MAX_STAGE_UNDERLAY)
00032         return;
00033 
00034     if (type.typeID == 0) {
00035         opp_error("NodeType not set when initializing ChurnGenerator");
00036     }
00037 
00038     underlayConfigurator = UnderlayConfiguratorAccess().get();
00039     // get desired # of terminals
00040     targetOverlayTerminalNum = par("targetOverlayTerminalNum");
00041 
00042     type.overlayType = std::string(par("overlayType"));
00043     type.tier1Type = std::string(par("tier1Type"));
00044     type.tier2Type = std::string(par("tier2Type"));
00045     type.tier3Type = std::string(par("tier3Type"));
00046     type.channelTypes = cStringTokenizer(par("channelTypes"), " ").asVector();
00047     terminalCount = 0;
00048     init = true;
00049 
00050     updateDisplayString();
00051     WATCH(terminalCount);
00052 
00053     initializeChurn();
00054 }

virtual void ChurnGenerator::initializeChurn (  )  [pure virtual]

Implemented in LifetimeChurn, NoChurn, ParetoChurn, RandomChurn, and TraceChurn.

Referenced by initialize().

virtual void ChurnGenerator::handleMessage ( cMessage *  msg  )  [pure virtual]

void ChurnGenerator::setNodeType ( NodeType  t  )  [inline]

Referenced by UnderlayConfigurator::initialize().

00064 { type = t; }

virtual void ChurnGenerator::updateDisplayString (  )  [protected, pure virtual]

Implemented in LifetimeChurn, NoChurn, ParetoChurn, RandomChurn, and TraceChurn.

Referenced by initialize().


Member Data Documentation

still in initialization phase?

Referenced by initialize().

current number of overlay terminals

Referenced by RandomChurn::handleMessage(), NoChurn::handleMessage(), and initialize().


The documentation for this class was generated from the following files:

Generated on Fri Sep 19 13:05:06 2008 for ITM OverSim by  doxygen 1.5.5