public TimeSpan Next()
        {
            var waitTimeMs = _strategy.Next().TotalMilliseconds;

            waitTimeMs *= RandomNumberGenerator.Next(MinMultiplier, MaxMultiplier);

            return(TimeSpan.FromMilliseconds(waitTimeMs));
        }
        public TimeSpan Next()
        {
            var waitTime = TimeSpan.FromMilliseconds(
                RandomNumberGenerator.Next(
                    minValue: _strategy.Next().TotalMilliseconds,
                    maxValue: _lastWaitTime.TotalMilliseconds * 3));

            _lastWaitTime = waitTime;

            return(waitTime);
        }
Beispiel #3
0
        public TimeSpan Next()
        {
            var adjustedWaitTime = _strategy.Next() + _adjustment;

            // Depending on the underlying strategy, it is still possible to have a negative wait time after adjustment.
            if (adjustedWaitTime < TimeSpan.Zero)
            {
                adjustedWaitTime = TimeSpan.Zero;
            }

            return(adjustedWaitTime);
        }
        public TimeSpan Next()
        {
            var minTicks = Math.Min(_maxWaitTime.Ticks, _strategy.Next().Ticks);

            return(TimeSpan.FromTicks(minTicks));
        }
        public TimeSpan Next()
        {
            var waitTimeMs = _strategy.Next().TotalMilliseconds *_percentageAdjustment;

            return(TimeSpan.FromMilliseconds(waitTimeMs));
        }