Package io.grpc.internal
Class ExponentialBackoffPolicy
- java.lang.Object
-
- io.grpc.internal.ExponentialBackoffPolicy
-
- All Implemented Interfaces:
BackoffPolicy
public final class ExponentialBackoffPolicy extends java.lang.Object implements BackoffPolicy
Retry Policy for Transport reconnection. Initial parameters from https://github.com/grpc/grpc/blob/master/doc/connection-backoff.mdTODO(carl-mastrangelo): add unit tests for this class
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ExponentialBackoffPolicy.Provider
-
Field Summary
Fields Modifier and Type Field Description private long
initialBackoffNanos
private double
jitter
private long
maxBackoffNanos
private double
multiplier
private long
nextBackoffNanos
private java.util.Random
random
-
Constructor Summary
Constructors Constructor Description ExponentialBackoffPolicy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
nextBackoffNanos()
Returns the number of nanoseconds to wait.(package private) ExponentialBackoffPolicy
setInitialBackoffNanos(long initialBackoffNanos)
(package private) ExponentialBackoffPolicy
setJitter(double jitter)
(package private) ExponentialBackoffPolicy
setMaxBackoffNanos(long maxBackoffNanos)
(package private) ExponentialBackoffPolicy
setMultiplier(double multiplier)
(package private) ExponentialBackoffPolicy
setRandom(java.util.Random random)
private long
uniformRandom(double low, double high)
-
-
-
Method Detail
-
nextBackoffNanos
public long nextBackoffNanos()
Description copied from interface:BackoffPolicy
Returns the number of nanoseconds to wait.- Specified by:
nextBackoffNanos
in interfaceBackoffPolicy
-
uniformRandom
private long uniformRandom(double low, double high)
-
setRandom
ExponentialBackoffPolicy setRandom(java.util.Random random)
-
setInitialBackoffNanos
ExponentialBackoffPolicy setInitialBackoffNanos(long initialBackoffNanos)
-
setMaxBackoffNanos
ExponentialBackoffPolicy setMaxBackoffNanos(long maxBackoffNanos)
-
setMultiplier
ExponentialBackoffPolicy setMultiplier(double multiplier)
-
setJitter
ExponentialBackoffPolicy setJitter(double jitter)
-
-