C# OJAI Client API
MapRDB.Driver.Ojai.RetryUtils Class Reference

Static Public Member Functions

static void SetCustomRetryPolicy (uint retryCount, double retryExponentialMultiplier)
 Set custom retry policy. More...
 
static void ResetCustomRetryPolicy ()
 Remove custom retry policy. More...
 
static void SetCustomAsyncRetryPolicy (uint retryCount, double retryExponentialMultiplier)
 Set custom async retry policy. More...
 
static void ResetCustomAsyncRetryPolicy ()
 Remove custom async retry policy. More...
 
static T RunRetryPolicy< T > (Func< T > Request)
 Retry decorator for synchronous operations. More...
 
static async Task< T > RunRetryPolicyAsync< T > (Func< AsyncUnaryCall< T >> Request)
 Retry decorator for asynchronous operations. More...
 

Static Private Attributes

static RetryPolicy _retryPolicy
 
static RetryPolicy _asyncRetryPolicy
 
static RetryPolicy _customRetryPolicy = null
 
static RetryPolicy _customAsyncRetryPolicy = null
 

Member Function Documentation

◆ ResetCustomAsyncRetryPolicy()

static void MapRDB.Driver.Ojai.RetryUtils.ResetCustomAsyncRetryPolicy ( )
static

Remove custom async retry policy.

◆ ResetCustomRetryPolicy()

static void MapRDB.Driver.Ojai.RetryUtils.ResetCustomRetryPolicy ( )
static

Remove custom retry policy.

◆ RunRetryPolicy< T >()

static T MapRDB.Driver.Ojai.RetryUtils.RunRetryPolicy< T > ( Func< T >  Request)
static

Retry decorator for synchronous operations.

◆ RunRetryPolicyAsync< T >()

static async Task<T> MapRDB.Driver.Ojai.RetryUtils.RunRetryPolicyAsync< T > ( Func< AsyncUnaryCall< T >>  Request)
static

Retry decorator for asynchronous operations.

◆ SetCustomAsyncRetryPolicy()

static void MapRDB.Driver.Ojai.RetryUtils.SetCustomAsyncRetryPolicy ( uint  retryCount,
double  retryExponentialMultiplier 
)
static

Set custom async retry policy.

◆ SetCustomRetryPolicy()

static void MapRDB.Driver.Ojai.RetryUtils.SetCustomRetryPolicy ( uint  retryCount,
double  retryExponentialMultiplier 
)
static

Set custom retry policy.

Member Data Documentation

◆ _asyncRetryPolicy

RetryPolicy MapRDB.Driver.Ojai.RetryUtils._asyncRetryPolicy
staticprivate
Initial value:
=
Policy.Handle<RpcException>(r => r.Status.StatusCode == StatusCode.Unavailable
|| r.Status.StatusCode == StatusCode.ResourceExhausted)
.WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)))

◆ _retryPolicy

RetryPolicy MapRDB.Driver.Ojai.RetryUtils._retryPolicy
staticprivate
Initial value:
=
Policy.Handle<RpcException>(r => r.Status.StatusCode == StatusCode.Unavailable
|| r.Status.StatusCode == StatusCode.ResourceExhausted)
.WaitAndRetry(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)))