NServiceBus.DefaultRecoverabilityPolicy.TryGetDelay C# (CSharp) Method

TryGetDelay() static private method

static private TryGetDelay ( IncomingMessage message, int delayedDeliveriesPerformed, DelayedConfig config, System.TimeSpan &delay ) : bool
message IncomingMessage
delayedDeliveriesPerformed int
config DelayedConfig
delay System.TimeSpan
return bool
        static bool TryGetDelay(IncomingMessage message, int delayedDeliveriesPerformed, DelayedConfig config, out TimeSpan delay)
        {
            delay = TimeSpan.MinValue;

            if (config.MaxNumberOfRetries == 0)
            {
                return false;
            }

            if (delayedDeliveriesPerformed >= config.MaxNumberOfRetries)
            {
                return false;
            }

            if (HasReachedMaxTime(message))
            {
                return false;
            }

            delay = TimeSpan.FromTicks(config.TimeIncrease.Ticks*(delayedDeliveriesPerformed + 1));

            return true;
        }