In the CBQ.cc there is written:
1) deque: this gets invoked by way of our
downstream (i.e. linkdelay) neighbor doing a 'resume' on us via our handler (by
Queue::resume()), or by our upstream neighbor when it gives us a packet when we
were idle,
2) When a class comes suspended comes mailed the
field undertime (undertime_ = fin_time + tx_time * (1.0 / allotment_ - 1.0) -
(1-POWEROFTWO) * avgidle).
But from the point 1) the class sends a new packet
only when a new packet arrive in the queue (and now > undertime, if no
borrowing). This involves an approximation of the value undertime, therefore the
class instead of transmitting the own packets immediately after undertime,
delays this operation. The result is that the class goes slower, the own
theoretical limits are under esteemed.
|