Interface Backoff
-
- All Superinterfaces:
Function<IterationContext<?>,BackoffDelay>
public interface Backoff extends Function<IterationContext<?>,BackoffDelay>
Backoff function
-
-
Field Summary
Fields Modifier and Type Field Description static BackoffZERO_BACKOFF
-
Method Summary
Static Methods Modifier and Type Method Description static Backoffexponential(Duration firstBackoff, Duration maxBackoff, int factor, boolean basedOnPreviousValue)Backoff function with exponential backoff delay.static Backofffixed(Duration backoffInterval)Backoff function with fixed backoff delaystatic Backoffzero()Backoff function with no backoff delay
-
-
-
Field Detail
-
ZERO_BACKOFF
static final Backoff ZERO_BACKOFF
-
-
Method Detail
-
zero
static Backoff zero()
Backoff function with no backoff delay- Returns:
- Backoff function for zero backoff delay
-
fixed
static Backoff fixed(Duration backoffInterval)
Backoff function with fixed backoff delay- Parameters:
backoffInterval- backoff interval- Returns:
- Backoff function with fixed backoff delay
-
exponential
static Backoff exponential(Duration firstBackoff, @Nullable Duration maxBackoff, int factor, boolean basedOnPreviousValue)
Backoff function with exponential backoff delay. Retries are performed after a backoff interval offirstBackoff * (factor ** n)where n is the iteration. IfmaxBackoffis not null, the maximum backoff applied will be limited tomaxBackoff.If
basedOnPreviousValueis true, backoff will be calculated usingprevBackoff * factor. When backoffs are combined withJitter, this value will be different from the actual exponential value for the iteration.- Parameters:
firstBackoff- First backoff durationmaxBackoff- Maximum backoff durationfactor- The multiplicand for calculating backoffbasedOnPreviousValue- If true, calculation is based on previous value which may be a backoff with jitter applied- Returns:
- Backoff function with exponential delay
-
-