public override void WaitBeforeRetry(IExecutionContext executionContext) { //Adaptive and standard both use the same backoff with jitter calculations. var msDelay = MockStandardRetryPolicy.WaitBeforeRetry(executionContext.RequestContext.Retries, this.MaxBackoffInMilliseconds, _exponentialBase, _exponentialPower); RecordedDelays.Add(msDelay); }
public void RunRetryTest(Action <IExecutionContext, MockStandardRetryPolicy> DoAction, AmazonS3Config config, CapacityManager capacityManager = null) { try { if (capacityManager != null) { MockStandardRetryPolicy.SetCapacityManagerInstance(capacityManager); } var retryPolicy = new MockStandardRetryPolicy(config); Handler = new RetryHandler(retryPolicy); if (RuntimePipeline.Handlers.Find(h => h is RetryHandler) != null) { RuntimePipeline.ReplaceHandler <RetryHandler>(Handler); } else { RuntimePipeline.AddHandler(Handler); } var executionContext = CreateTestContext(null, null, config); DoAction(executionContext, retryPolicy); } finally { if (capacityManager != null) { MockStandardRetryPolicy.RestoreManagers(); } } }