C# Class NDomain.Bus.MessageWorker

Handles all the logic to receive messages from an IInboundTransport in a message loop. Handles success and failure scenarios. Actual message processing is delegated to the IMessageDispatcher.
Inheritance: IDisposable
显示文件 Open project: mfelicio/NDomain Class Usage Examples

Public Methods

Method Description
Dispose ( ) : void
MessageWorker ( IInboundTransport receiver, IMessageDispatcher messageDispatcher, ILoggerFactory loggerFactory, int concurrencyLevel = 200 ) : System
Start ( ) : void
Stop ( ) : void

Private Methods

Method Description
AcquireSlot ( ) : void
GetMessage ( ) : Task
HasSlots ( ) : bool
ProcessTransaction ( IMessageTransaction transaction ) : Task
ReleaseSlot ( ) : void
WaitForRunSignal ( ) : void
WaitForSlots ( ) : void
Work ( ) : Task

Method Details

Dispose() public method

public Dispose ( ) : void
return void

MessageWorker() public method

public MessageWorker ( IInboundTransport receiver, IMessageDispatcher messageDispatcher, ILoggerFactory loggerFactory, int concurrencyLevel = 200 ) : System
receiver IInboundTransport
messageDispatcher IMessageDispatcher
loggerFactory ILoggerFactory
concurrencyLevel int
return System

Start() public method

public Start ( ) : void
return void

Stop() public method

public Stop ( ) : void
return void