Open sandboxFocus

Class RetryPolicy

The default implementation of IRetryPolicy, implementing an exponential back-off with jitter effect. It can be configured by setting the properties.

Implements
Namespace: PostSharp.Patterns.Caching.Resilience
Assembly: PostSharp.Patterns.Caching.dll
Syntax
public class RetryPolicy : IRetryPolicy

Constructors

Name Description
RetryPolicy()

Properties

Name Description
BaseDelay

Gets or sets the base delay between attempt.

JitterFactor

Gets or sets the jitter factor, i.e. a randomness value between 0 and 1.

MaxAttempts

Gets or sets the maximum number of attempts.

MaxDelay

Gets or sets the maximum delay.

Multiplier

Gets or sets the multiplier (under the exponent).

NoDelayAttempts

Gets or sets the number of initial attempts (including the first attempt) that should not be delayed. Must be >= 1.

RetryableExceptionTypes

Gets or sets an array of exception types that can be retried. A null entry means that non-exception failures (such as transaction retries) will be retried. By default, all exception types and non-exceptions are retried.

Methods

Name Description
TryAsync(OperationKind, int, Exception, ref object, CancellationToken)

Determines if a Redis transaction should be tried, and throws a CachingException if it cannot.