Package-level declarations
Types
This rate limiter isn't perfect but aims to ensure the rate isn't going too fast, and that the rate is smooth. This means that calls to acquire will only unblock one at a time. If two concurrent calls are made to acquire, then the first will unblock straight away. The second one will unblock after 1 / QPS
seconds.
Timeouts. Use 0
to specify infinite. Negative value mean to use the system's default value.
PollUntil allows one to set up a DSL context that ensures that a request will poll until such a time that the predicate returns true. Due to how this request type works, the concurrency is set at 1.
This class is split out from the Rate limiter to allow for better testing It effectively should manage the timesteps in which a request ticket can be allowed