public class ExponentialBackOff : IBackOffImplementation of IBackOff that increases the back-off period for each retry attempt using a randomization function that grows exponentially. In addition, it also adds a randomize number of milliseconds for each attempt.
Implements
IBackOffNamespace
GoogleApisUtilAssembly
Google.Apis.Core.dll
Constructors
ExponentialBackOff()
public ExponentialBackOff()Constructs a new exponential back-off with default values.
ExponentialBackOff(TimeSpan, int)
public ExponentialBackOff(TimeSpan deltaBackOff, int maximumNumOfRetries = 10)Constructs a new exponential back-off with the given delta and maximum retries.
| Parameters | |
|---|---|
| Name | Description |
deltaBackOff |
TimeSpan |
maximumNumOfRetries |
int |
Properties
DeltaBackOff
public TimeSpan DeltaBackOff { get; }Gets the delta time span used to generate a random milliseconds to add to the next back-off. If the value is Zero then the generated back-off will be exactly 1, 2, 4, 8, 16, etc. seconds. A valid value is between zero and one second. The default value is 250ms, which means that the generated back-off will be [0.75-1.25]sec, [1.75-2.25]sec, [3.75-4.25]sec, and so on.
| Property Value | |
|---|---|
| Type | Description |
TimeSpan |
|
MaxNumOfRetries
public int MaxNumOfRetries { get; }Gets the maximum number of retries. Default value is 10.
| Property Value | |
|---|---|
| Type | Description |
int |
|
Methods
GetNextBackOff(int)
public TimeSpan GetNextBackOff(int currentRetry)Gets the a time span to wait before next retry. If the current retry reached the maximum number of retries, the returned value is MinValue.
| Parameter | |
|---|---|
| Name | Description |
currentRetry |
int |
| Returns | |
|---|---|
| Type | Description |
TimeSpan |
|