After reading the reference implementation for a while regarding burst control and #45, I found that Tahir et al. actually do not drain "fluently" in the same way that we do. They actually only drain the queue if it otherwise would be full, and then use a "fluent" approach by calculating this drain basically as now - last_dequeue_time.
(See https://github.com/PhantomQueuePolicer/BCPQP/blob/ef563248f504d36fa303ee932e201004f945171b/testbed/machnet/src/apps/bcpqp/main.cc#L582)
After reading the reference implementation for a while regarding burst control and #45, I found that Tahir et al. actually do not drain "fluently" in the same way that we do. They actually only drain the queue if it otherwise would be full, and then use a "fluent" approach by calculating this drain basically as
now - last_dequeue_time.(See https://github.com/PhantomQueuePolicer/BCPQP/blob/ef563248f504d36fa303ee932e201004f945171b/testbed/machnet/src/apps/bcpqp/main.cc#L582)