Skip to main content

HttpRetryOptions

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

Retry behaviour for one request. Absent means a single attempt, which is what the node did before the option existed.

public record HttpRetryOptions : IEquatable<HttpRetryOptions>

Inheritance ObjectHttpRetryOptions
Implements IEquatable<HttpRetryOptions>

Remarks:

Nullable members with constant defaults, for the reason given on HttpPagingOptions.

Fields

DefaultMaxAttempts

The HttpRetryOptions.MaxAttempts an unset property resolves to.

public static int DefaultMaxAttempts;

DefaultBackoffBaseSeconds

The HttpRetryOptions.BackoffBaseSeconds an unset property resolves to.

public static double DefaultBackoffBaseSeconds;

MaxBackoffSeconds

Upper bound on a single wait. Doubling is unbounded, so a long enough run would reach waits of hours and eventually a value the timer refuses outright; capping each wait keeps a retrying request inside a pipeline tick.

public static int MaxBackoffSeconds;

MaxAllowedAttempts

Upper bound on HttpRetryOptions.MaxAttempts. Ten attempts means nine waits, so with the wait cap the worst case is nine minutes of waiting plus the requests themselves; beyond that a request is not slow, it is broken, and a pipeline tick should end rather than pile up behind it.

public static int MaxAllowedAttempts;

Properties

MaxAttempts

Total attempts per request, so 1 means no retry.

public Nullable<int> MaxAttempts { get; set; }

Property Value

Nullable<Int32>

BackoffBaseSeconds

Delay before attempt n is base * 2^(n-1) seconds; 0 disables waiting.

public Nullable<double> BackoffBaseSeconds { get; set; }

Property Value

Nullable<Double>

Constructors

HttpRetryOptions()

public HttpRetryOptions()