Package dev.failsafe.internal
Class RateLimiterStats
java.lang.Object
dev.failsafe.internal.RateLimiterStats
- Direct Known Subclasses:
BurstyRateLimiterStats
,SmoothRateLimiterStats
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) abstract long
acquirePermits
(long permits, Duration maxWaitTime) Eagerly acquires permits and returns the time in nanos that must be waited in order to use the permits, else returns-1
if the wait time would exceed themaxWaitTime
.(package private) boolean
exceedsMaxWaitTime
(long waitNanos, Duration maxWaitTime) Returns whether thewaitNanos
would exceed themaxWaitTime
, elsefalse
ifmaxWaitTime
is null.(package private) Duration
Returns the elapsed time since the rate limiter began.(package private) abstract void
reset()
Resets the rate limiter's internal stats.
-
Field Details
-
stopwatch
-
-
Constructor Details
-
RateLimiterStats
RateLimiterStats(RateLimiterStats.Stopwatch stopwatch)
-
-
Method Details
-
acquirePermits
Eagerly acquires permits and returns the time in nanos that must be waited in order to use the permits, else returns-1
if the wait time would exceed themaxWaitTime
.- Parameters:
permits
- the number of requested permitsmaxWaitTime
- the max time to wait for the requested permits, elsenull
to wait indefinitely
-
exceedsMaxWaitTime
Returns whether thewaitNanos
would exceed themaxWaitTime
, elsefalse
ifmaxWaitTime
is null. -
getElapsed
Duration getElapsed()Returns the elapsed time since the rate limiter began. -
reset
abstract void reset()Resets the rate limiter's internal stats.
-