Provides information about the delayed retries configuration.
        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;
        }
Пример #2
0
        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);
        }