Interface BackoffStrategy
- All Known Implementing Classes:
EqualJitterBackoffStrategy
,FixedDelayBackoffStrategy
,FullJitterBackoffStrategy
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Max permitted retry times. -
Method Summary
Modifier and TypeMethodDescriptiondefault int
calculateExponentialDelay
(int retriesAttempted, Duration baseDelay, Duration maxBackoffTime) Compute the delay before the next retry request.static BackoffStrategy
static BackoffStrategy
defaultStrategy
(RetryMode retryMode) static BackoffStrategy
static BackoffStrategy
defaultThrottlingStrategy
(RetryMode retryMode) static BackoffStrategy
none()
-
Field Details
-
RETRIES_ATTEMPTED_CEILING
static final int RETRIES_ATTEMPTED_CEILINGMax permitted retry times. To prevent exponentialDelay from overflow, there must be 2 ^ retriesAttempted <= 2 ^ 31 - 1, which means retriesAttempted <= 30, so that is the ceil for retriesAttempted.
-
-
Method Details
-
computeDelayBeforeNextRetry
Compute the delay before the next retry request. This strategy is only consulted when there will be a next retry.- Parameters:
context
- Context about the state of the last request and information about the number of requests made.- Returns:
- Amount of time in milliseconds to wait before the next attempt. Must be non-negative (can be zero).
-
calculateExponentialDelay
-
defaultStrategy
-
defaultStrategy
-
defaultThrottlingStrategy
-
defaultThrottlingStrategy
-
none
-