NServiceBus.Recoverability.GetImmediateRetryConfig C# (CSharp) Method

GetImmediateRetryConfig() static private method

static private GetImmediateRetryConfig ( ReadOnlySettings settings, bool transactionsOn ) : ImmediateConfig
settings ReadOnlySettings
transactionsOn bool
return ImmediateConfig
        static ImmediateConfig GetImmediateRetryConfig(ReadOnlySettings settings, bool transactionsOn)
        {
            if (!transactionsOn)
            {
                Logger.Warn("Immediate Retries will be disabled. Immediate Retries are not supported when running with TransportTransactionMode.None. Failed messages will be moved to the error queue instead.");
                //Transactions must be enabled since Immediate Retries requires the transport to be able to rollback
                return new ImmediateConfig(0);
            }

            var retriesConfig = settings.GetConfigSection<TransportConfig>();
            var maxImmediateRetries = retriesConfig?.MaxRetries ?? settings.Get<int>(NumberOfImmediateRetries);

            return new ImmediateConfig(maxImmediateRetries);
        }