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 int
DEFAULT_INITIAL_MILLIS
static int
DEFAULT_MAXIMUM_MILLIS
static float
DEFAULT_MULTIPLIER
-
Constructor Summary
Constructors Constructor Description ExponentialBackoff(ExponentialBackoff.Params params)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(ExponentialBackoff other)
long
getRetryTime()
Get the next time to retry, in milliseconds since the epochjava.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_MILLIS
public static final int DEFAULT_INITIAL_MILLIS
- See Also:
- Constant Field Values
-
DEFAULT_MULTIPLIER
public static final float DEFAULT_MULTIPLIER
- See Also:
- Constant Field Values
-
DEFAULT_MAXIMUM_MILLIS
public static final int DEFAULT_MAXIMUM_MILLIS
- See Also:
- Constant Field Values
-
-
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
-
getRetryTime
public long getRetryTime()
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
-
-