public class RecyclableRateLimiterWithMetrics extends Object implements RecyclableRateLimiter
RecyclableRateLimiter that adds metrics for permits-related operations.| Modifier and Type | Class and Description |
|---|---|
static class |
RecyclableRateLimiterWithMetrics.RateLimiterMetricsContainer |
| Constructor and Description |
|---|
RecyclableRateLimiterWithMetrics(RecyclableRateLimiter delegate,
String prefix) |
RecyclableRateLimiterWithMetrics(RecyclableRateLimiter delegate,
java.util.function.Supplier<RecyclableRateLimiterWithMetrics.RateLimiterMetricsContainer> metrics) |
| Modifier and Type | Method and Description |
|---|---|
double |
acquire(int permits)
Acquires the requested number of permits, waiting until enough permits are available.
|
double |
getRate()
Returns the currently configured rate per second at which new permits become available.
|
boolean |
immediatelyAvailable(int permits)
Checks whether there's enough permits accumulated to cover the number of requested permits.
|
void |
recyclePermits(int permits)
Return the specified number of permits back to the pool.
|
void |
setRate(double rate)
Updates the rate for this
RateLimiter. |
boolean |
tryAcquire(int permits)
Acquires the requested number of permits only if can be acquired without wait.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitacquire, tryAcquirepublic RecyclableRateLimiterWithMetrics(RecyclableRateLimiter delegate, String prefix)
delegate - RecyclableRateLimiter delegateprefix - metric prefixpublic RecyclableRateLimiterWithMetrics(RecyclableRateLimiter delegate, java.util.function.Supplier<RecyclableRateLimiterWithMetrics.RateLimiterMetricsContainer> metrics)
delegate - RecyclableRateLimiter delegatemetrics - a supplier withpublic double getRate()
RecyclableRateLimitergetRate in interface RecyclableRateLimiterpublic void setRate(double rate)
RecyclableRateLimiterRateLimiter.setRate in interface RecyclableRateLimiterrate - new rate per secondpublic double acquire(int permits)
RecyclableRateLimiteracquire in interface RecyclableRateLimiterpermits - number of permits to requestpublic boolean tryAcquire(int permits)
RecyclableRateLimitertryAcquire in interface RecyclableRateLimiterpermits - number of permits to requestpublic void recyclePermits(int permits)
RecyclableRateLimiterrecyclePermits in interface RecyclableRateLimiterpermits - number of permits to returnpublic boolean immediatelyAvailable(int permits)
RecyclableRateLimiterimmediatelyAvailable in interface RecyclableRateLimiterpermits - permits to checkCopyright © 2020. All rights reserved.