Class TokenBucket
java.lang.Object
org.apache.polaris.service.ratelimiter.TokenBucket
General-purpose Token bucket implementation. Acquires tokens at a fixed rate and has a maximum
amount of tokens. Each successful "tryAcquire" costs 1 token.
-
Constructor Summary
ConstructorsConstructorDescriptionTokenBucket(long tokensPerSecond, long maxTokens, InstantSource instantSource) -
Method Summary
-
Constructor Details
-
TokenBucket
-
-
Method Details
-
tryAcquire
public boolean tryAcquire()Tries to acquire and spend 1 token. Doesn't block if a token isn't available.- Returns:
- whether a token was successfully acquired and spent
-