OverSim
|
This class handles the token allocation. More...
#include <GiaTokenFactory.h>
Classes | |
class | tokenCompareGiaNode |
Public Member Functions | |
virtual int | numInitStages () const |
Sets init stage. | |
virtual void | initialize (int stage) |
Initializes this class and set some WATCH(variable) for OMNeT++. | |
virtual void | handleMessages (cMessage *msg) |
This module doesn't handle OMNeT++ messages. | |
virtual void | setNeighbors (GiaNeighbors *neighbors) |
Set neighbors. | |
void | setMaxHopCount (uint32_t maxHopCount) |
Set maximum hop count. | |
virtual void | grantToken () |
Sends a token to a GiaNode. |
Protected Types | |
typedef std::priority_queue < FullGiaNodeInfo, std::vector < FullGiaNodeInfo > , tokenCompareGiaNode > | TokenQueue |
Protected Member Functions | |
void | createPriorityQueue () |
Creates priority queue. | |
void | clearTokenQueue () |
Clears tokenQueue. | |
void | updateQueueVector () |
Update TokenQueue-Vector (for OMNeT++ WATCH) | |
void | updateSentTokens () |
Increase sentTokens at neighbor-node which is on top of priority queue. | |
void | sendToken () |
Sends token to node on top of priority queue. |
Protected Attributes | |
Gia * | gia |
TokenQueue | tokenQueue |
prioriry queue of all current neighbors | |
GiaNeighbors * | neighbors |
pointer to our current neighbors | |
std::vector< GiaNode > | tokenQueueVector |
uint32_t | maxHopCount |
a vector of the priority queue (to visualize current priority state) | |
uint32_t | stat_sentTokens |
number of sent tokens |
This class handles the token allocation.
It grants the next token to the node which has fewest tokens. If some nodes have the same amount of granted tokens, the node with the highest capacity will obtain the token.
Definition at line 45 of file GiaTokenFactory.h.
|
protected |
Definition at line 98 of file GiaTokenFactory.h.
|
protected |
Clears tokenQueue.
Definition at line 97 of file GiaTokenFactory.cc.
Referenced by createPriorityQueue().
|
protected |
Creates priority queue.
Definition at line 83 of file GiaTokenFactory.cc.
Referenced by grantToken().
|
virtual |
Sends a token to a GiaNode.
Definition at line 62 of file GiaTokenFactory.cc.
Referenced by Gia::forwardMessage(), Gia::handleTimerEvent(), and Gia::processSearchMessage().
|
virtual |
This module doesn't handle OMNeT++ messages.
msg | OMNeT++ message |
Definition at line 47 of file GiaTokenFactory.cc.
|
virtual |
Initializes this class and set some WATCH(variable) for OMNeT++.
stage | Level of initialization (OMNeT++) |
Definition at line 33 of file GiaTokenFactory.cc.
|
inlinevirtual |
|
protected |
Sends token to node on top of priority queue.
void GiaTokenFactory::setMaxHopCount | ( | uint32_t | maxHopCount | ) |
Set maximum hop count.
maxHopCount |
Definition at line 57 of file GiaTokenFactory.cc.
Referenced by Gia::changeState().
|
virtual |
Set neighbors.
neighbors | pointer to our neighborlist |
Definition at line 52 of file GiaTokenFactory.cc.
Referenced by Gia::changeState().
|
protected |
Update TokenQueue-Vector (for OMNeT++ WATCH)
Definition at line 103 of file GiaTokenFactory.cc.
Referenced by grantToken().
|
protected |
Increase sentTokens at neighbor-node which is on top of priority queue.
Definition at line 113 of file GiaTokenFactory.cc.
Referenced by grantToken().
|
protected |
Definition at line 89 of file GiaTokenFactory.h.
Referenced by grantToken(), and initialize().
|
protected |
a vector of the priority queue (to visualize current priority state)
maximum hop count
Definition at line 102 of file GiaTokenFactory.h.
Referenced by setMaxHopCount().
|
protected |
pointer to our current neighbors
Definition at line 100 of file GiaTokenFactory.h.
Referenced by createPriorityQueue(), grantToken(), and setNeighbors().
|
protected |
number of sent tokens
Definition at line 105 of file GiaTokenFactory.h.
Referenced by grantToken(), and initialize().
|
protected |
prioriry queue of all current neighbors
Definition at line 99 of file GiaTokenFactory.h.
Referenced by clearTokenQueue(), createPriorityQueue(), grantToken(), updateQueueVector(), and updateSentTokens().
|
protected |
Definition at line 101 of file GiaTokenFactory.h.
Referenced by initialize(), and updateQueueVector().