NServiceBus.RecoverabilityExecutor.DeferMessage C# (CSharp) Method

DeferMessage() private method

private DeferMessage ( DelayedRetry action, ErrorContext errorContext ) : Task
action DelayedRetry
errorContext ErrorContext
return Task
        async Task<ErrorHandleResult> DeferMessage(DelayedRetry action, ErrorContext errorContext)
        {
            var message = errorContext.Message;

            Logger.Warn($"Delayed Retry will reschedule message '{message.MessageId}' after a delay of {action.Delay} because of an exception:", errorContext.Exception);

            var currentDelayedRetriesAttempts = await delayedRetryExecutor.Retry(message, action.Delay, errorContext.TransportTransaction).ConfigureAwait(false);

            if (raiseNotifications)
            {
                await eventAggregator.Raise(
                    new MessageToBeRetried(
                        attempt: currentDelayedRetriesAttempts,
                        delay: action.Delay,
                        immediateRetry: false,
                        errorContext: errorContext))
                    .ConfigureAwait(false);
            }
            return ErrorHandleResult.Handled;
        }