<PackageReference Include="Polly" Version="6.1.0" />

RetryStateWaitAndRetryForeverWithCount<TResult>

public RetryStateWaitAndRetryForeverWithCount(Func<int, DelegateResult<TResult>, Context, TimeSpan> sleepDurationProvider, Action<DelegateResult<TResult>, int, TimeSpan, Context> onRetry, Context context)

public RetryStateWaitAndRetryForeverWithCount(Func<int, DelegateResult<TResult>, Context, TimeSpan> sleepDurationProvider, Func<DelegateResult<TResult>, int, TimeSpan, Context, Task> onRetryAsync, Context context)

public bool CanRetry(DelegateResult<TResult> delegateResult, CancellationToken cancellationToken)

public Task<bool> CanRetryAsync(DelegateResult<TResult> delegateResult, CancellationToken cancellationToken, bool continueOnCapturedContext)