Package net.devslash
Class AcquiringRateLimiter
-
- All Implemented Interfaces:
public final class AcquiringRateLimiter
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.This means that the rate limiter effectively has no memory of the past, beyond the call before. This means that if there is inconsistency with how fast requests are performed, then the rate limit may be over-restrictive.
-
-
Constructor Summary
Constructors Constructor Description AcquiringRateLimiter(RateLimitOptions rateLimitOptions, Clock clock)
-