Aspectacular.RetryExponentialDelayAspect.RetryExponentialDelayAspect C# (CSharp) Method

RetryExponentialDelayAspect() public method

public RetryExponentialDelayAspect ( uint keepTryingForMilliseconds, uint initialMillisecDelayBetweenRetries = 1, double delayMultiplier = 2.0, FailureDetectorDelegate optionalFailureDetector = null ) : System
keepTryingForMilliseconds uint Maximum amount of time to keep retrying for, after which failure is considered permanent.
initialMillisecDelayBetweenRetries uint Delay after first failed attempt. Delay between subsequent attempts will grow.
delayMultiplier double Multiplier determining growth of delay between subsequent attempts.
optionalFailureDetector FailureDetectorDelegate Optional custom method to decide whether failure occurred and retry is required. If not provided, exception in the main method or result post-processing will trigger retry.
return System
        public RetryExponentialDelayAspect(uint keepTryingForMilliseconds, uint initialMillisecDelayBetweenRetries = 1, double delayMultiplier = 2.0, FailureDetectorDelegate optionalFailureDetector = null)
            : base(keepTryingForMilliseconds, initialMillisecDelayBetweenRetries == 0 ? 1 : initialMillisecDelayBetweenRetries, optionalFailureDetector)
        {
            if(delayMultiplier <= 1)
                throw new ArgumentException("delayMultiplier has to be greater than 1. {0} is an invalid value.".SmartFormat(delayMultiplier));

            this.DelayMultiplier = delayMultiplier;
        }