/// <summary> /// Perform the processor-bound portion of the RetryForException logic. /// This is shared by the sync, async, and APM versions of the RetryForException method. /// </summary> /// <param name="executionContext"></param> /// <param name="exception"></param> /// <returns>a value if it can be determined, or null if the IO-bound calculations need to be done</returns> public bool?RetryForExceptionSync(Runtime.IExecutionContext executionContext, Exception exception) { return(AmazonS3RetryPolicy.SharedRetryForExceptionSync(executionContext, exception, Logger, base.RetryForException)); }
/// <summary> /// Return true if the request should be retried. Implements additional checks /// specific to S3 on top of the checks in StandardRetryPolicy. /// </summary> /// <param name="executionContext">Request context containing the state of the request.</param> /// <param name="exception">The exception thrown by the previous request.</param> /// <returns>Return true if the request should be retried.</returns> public override async Task <bool> RetryForExceptionAsync(Runtime.IExecutionContext executionContext, Exception exception) { return(await AmazonS3RetryPolicy.SharedRetryForExceptionAsync(executionContext, exception, RetryForExceptionSync, base.RetryForException).ConfigureAwait(false)); }
/// <summary> /// Return true if the request should be retried. Implements additional checks /// specific to S3 on top of the checks in StandardRetryPolicy. /// </summary> /// <param name="executionContext">Request context containing the state of the request.</param> /// <param name="exception">The exception thrown by the previous request.</param> /// <returns>Return true if the request should be retried.</returns> public override bool RetryForException(Runtime.IExecutionContext executionContext, Exception exception) { return(AmazonS3RetryPolicy.SharedRetryForException(executionContext, exception, RetryForExceptionSync, base.RetryForException)); }