28 defBW = par(
"defBW").longValue();
31 stopQAt = par(
"stopQAt").longValue();
32 startQAt = par(
"startQAt").longValue();
42 queueTimes[queue] =
FlowParams( bw > 0 ? bw : defBW );
52 queueTimes.erase(queue);
58 if(queueTimes.find(queue) != queueTimes.end()) {
59 queueTimes[queue].insert( queue->
getLastPDU()->getBitLength() );
76 if(queueTimes.find(queue) != queueTimes.end()) {
77 queueTimes[queue].removeFirst();
94 if(queueTimes.find(queue) != queueTimes.end()) {
95 queueTimes[queue].removeLast();
111 simtime_t vFinTime = DBL_MAX;
114 for(
queue2FpIt it = queueTimes.begin(); it != queueTimes.end(); it++) {
115 simtime_t qvFinTime = it->second.getFirstFinTime();
116 if(qvFinTime < vFinTime) {
117 vFinTime = qvFinTime;
virtual void postQueueCreation(RMTQueue *queue)
queueType getType() const
Define_Module(FWQ::WeightedFairQMonitor)
int getAvgBand() const
Gets Average Bandwidth parameter.
virtual void preQueueRemoval(RMTQueue *queue)
virtual void postPDURelease(RMTQueue *queue)
virtual void postPDUInsertion(RMTQueue *queue)
const cPacket * getLastPDU() const
const Flow * getFlow() const
virtual void onPolicyInit()
virtual RMTQueue * getNextQueue()
const QoSCube & getQosCube() const
queue2Fp::iterator queue2FpIt
virtual void onMessageDrop(RMTQueue *queue, const cPacket *pdu)