Package org.bitcoinj.utils
Class ExponentialBackoff
- java.lang.Object
-
- org.bitcoinj.utils.ExponentialBackoff
-
- All Implemented Interfaces:
java.lang.Comparable<ExponentialBackoff>
public class ExponentialBackoff extends java.lang.Object implements java.lang.Comparable<ExponentialBackoff>
Tracks successes and failures and calculates a time to retry the operation.
The retries are exponentially backed off, up to a maximum interval. On success the back off interval is reset.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExponentialBackoff.Params
Parameters to configure a particular kind of exponential backoff.
-
Field Summary
Fields Modifier and Type Field Description static java.time.Duration
DEFAULT_INITIAL_INTERVAL
static java.time.Duration
DEFAULT_MAXIMUM_INTERVAL
static float
DEFAULT_MULTIPLIER
-
Constructor Summary
Constructors Constructor Description ExponentialBackoff(ExponentialBackoff.Params params)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description int
compareTo(ExponentialBackoff other)
long
getRetryTime()
Deprecated.useretryTime()
java.time.Instant
retryTime()
Get the next time to retryjava.lang.String
toString()
void
trackFailure()
Track a failure - multiply the back off interval by the multipliervoid
trackSuccess()
Track a success - reset back off interval to the initial value
-
-
-
Field Detail
-
DEFAULT_INITIAL_INTERVAL
public static final java.time.Duration DEFAULT_INITIAL_INTERVAL
-
DEFAULT_MULTIPLIER
public static final float DEFAULT_MULTIPLIER
- See Also:
- Constant Field Values
-
DEFAULT_MAXIMUM_INTERVAL
public static final java.time.Duration DEFAULT_MAXIMUM_INTERVAL
-
-
Constructor Detail
-
ExponentialBackoff
public ExponentialBackoff(ExponentialBackoff.Params params)
-
-
Method Detail
-
trackSuccess
public final void trackSuccess()
Track a success - reset back off interval to the initial value
-
trackFailure
public void trackFailure()
Track a failure - multiply the back off interval by the multiplier
-
retryTime
public java.time.Instant retryTime()
Get the next time to retry
-
getRetryTime
@Deprecated public long getRetryTime()
Deprecated.useretryTime()
Get the next time to retry, in milliseconds since the epoch
-
compareTo
public int compareTo(ExponentialBackoff other)
- Specified by:
compareTo
in interfacejava.lang.Comparable<ExponentialBackoff>
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-