Bug 5280: Add ProgressTracker
ProgressTracker determines the tracking delay required
to keep the outbound queue reasonably full. Unlike Guava's
RateLimiter, we can assume cooperative callers, hence we
can use an enqueue-and-wait strategy as appropriate. This
lowers contention in multi-threaded access, as the wait
part of the cycle is spent outside the lock.
Change-Id: Iaea65c171455b89d7117431599ebc65fe0a4f19a
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>