Class ExponentialBackOff
Implementation 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.
Inheritance
Implements
Namespace: Google.Apis.Util
Assembly: Google.Apis.Core.dll
Syntax
public class ExponentialBackOff : object, IBackOff
Constructors
ExponentialBackOff()
Constructs a new exponential back-off with default values.
Declaration
public ExponentialBackOff()
ExponentialBackOff(TimeSpan, Int32)
Constructs a new exponential back-off with the given delta and maximum retries.
Declaration
public ExponentialBackOff(TimeSpan deltaBackOff, int maximumNumOfRetries = 10)
Parameters
Type | Name | Description |
---|---|---|
System.TimeSpan | deltaBackOff | |
System.Int32 | maximumNumOfRetries |
Properties
DeltaBackOff
Gets the delta time span used to generate a random milliseconds to add to the next back-off.
If the value is
Declaration
public TimeSpan DeltaBackOff { get; }
Property Value
Type | Description |
---|---|
System.TimeSpan |
MaxNumOfRetries
Gets the maximum number of retries. Default value is 10
.
Declaration
public int MaxNumOfRetries { get; }
Property Value
Type | Description |
---|---|
System.Int32 |
Methods
GetNextBackOff(Int32)
Gets the a time span to wait before next retry. If the current retry reached the maximum number of retries,
the returned value is
Declaration
public TimeSpan GetNextBackOff(int currentRetry)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | currentRetry |
Returns
Type | Description |
---|---|
System.TimeSpan |