C# Class Rebus.Pipeline.Receive.HandleDeferredMessagesStep

Inheritance: IIncomingStep, IDisposable, IInitializable
Afficher le fichier Open project: rebus-org/Rebus

Private Properties

Свойство Type Description
ForwardMessageToExternalTimeoutManager System.Threading.Tasks.Task
GetTimeToBeDelivered DateTimeOffset
StoreMessageUntilDue System.Threading.Tasks.Task
TimerElapsed System.Threading.Tasks.Task

Méthodes publiques

Méthode Description
Dispose ( ) : void

Last-resort disposal of the due messages background task

HandleDeferredMessagesStep ( ITimeoutManager timeoutManager, ITransport transport, Rebus.Config.Options options, IRebusLoggerFactory rebusLoggerFactory, IAsyncTaskFactory asyncTaskFactory ) : System

Constructs the step, using the specified ITimeoutManager to defer relevant messages and the specified ITransport to deliver messages when they're due.

Initialize ( ) : void

Initialized the step (starts the DueMessagesSenderTaskName background task if using the internal timeout manager)

Process ( IncomingStepContext context, Func next ) : System.Threading.Tasks.Task

Checks to see if the incoming message has the Headers.DeferredUntil header. If that is the case, the message is either stored for later delivery or forwarded to the configured external timeout manager. If not, the message will be passed on down the pipeline.

Private Methods

Méthode Description
ForwardMessageToExternalTimeoutManager ( Rebus.Messages.TransportMessage transportMessage, ITransactionContext transactionContext ) : System.Threading.Tasks.Task
GetTimeToBeDelivered ( string deferredUntil ) : DateTimeOffset
StoreMessageUntilDue ( string deferredUntil, string>.Dictionary headers, Rebus.Messages.TransportMessage transportMessage ) : System.Threading.Tasks.Task
TimerElapsed ( ) : System.Threading.Tasks.Task

Method Details

Dispose() public méthode

Last-resort disposal of the due messages background task
public Dispose ( ) : void
Résultat void

HandleDeferredMessagesStep() public méthode

Constructs the step, using the specified ITimeoutManager to defer relevant messages and the specified ITransport to deliver messages when they're due.
public HandleDeferredMessagesStep ( ITimeoutManager timeoutManager, ITransport transport, Rebus.Config.Options options, IRebusLoggerFactory rebusLoggerFactory, IAsyncTaskFactory asyncTaskFactory ) : System
timeoutManager ITimeoutManager
transport ITransport
options Rebus.Config.Options
rebusLoggerFactory IRebusLoggerFactory
asyncTaskFactory IAsyncTaskFactory
Résultat System

Initialize() public méthode

Initialized the step (starts the DueMessagesSenderTaskName background task if using the internal timeout manager)
public Initialize ( ) : void
Résultat void

Process() public méthode

Checks to see if the incoming message has the Headers.DeferredUntil header. If that is the case, the message is either stored for later delivery or forwarded to the configured external timeout manager. If not, the message will be passed on down the pipeline.
public Process ( IncomingStepContext context, Func next ) : System.Threading.Tasks.Task
context IncomingStepContext
next Func
Résultat System.Threading.Tasks.Task