C# 클래스 Rebus.Pipeline.Receive.HandleDeferredMessagesStep

상속: IIncomingStep, IDisposable, IInitializable
파일 보기 프로젝트 열기: rebus-org/Rebus

Private Properties

프로퍼티 타입 설명
ForwardMessageToExternalTimeoutManager System.Threading.Tasks.Task
GetTimeToBeDelivered DateTimeOffset
StoreMessageUntilDue System.Threading.Tasks.Task
TimerElapsed System.Threading.Tasks.Task

공개 메소드들

메소드 설명
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.

비공개 메소드들

메소드 설명
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

메소드 상세

Dispose() 공개 메소드

Last-resort disposal of the due messages background task
public Dispose ( ) : void
리턴 void

HandleDeferredMessagesStep() 공개 메소드

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
리턴 System

Initialize() 공개 메소드

Initialized the step (starts the DueMessagesSenderTaskName background task if using the internal timeout manager)
public Initialize ( ) : void
리턴 void

Process() 공개 메소드

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
리턴 System.Threading.Tasks.Task