Simulations
General scheduler uses strict priority
For classes of same priority, the general scheduler uses a variant of weighted round robin with number of bytes served at each round proportional to bandwidth allocations
The estimator updates the limit status for a class and its ancestor classes after a packet from that class is transmitted
EWMA of inter-packet departure times (the reciprocal is the average rate)
t = measured time since the departure of previous packet
f = s/b, s is packet size and b the allocated rate
diff = t - f is negative if class exceeds its allocated rate
avg = (1-w) * avg + w * diff
Limit avg to a maximum (positive value) so not to accumulate credits