![]() |
CQRS.NET
4.0
A lightweight enterprise Function as a Service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments.
|
Receives instances of a ICommand<TAuthenticationToken> from the command bus, places them into one of several internal concurrent queues and then processes the commands one at a time per queue. More...
Public Member Functions | |
virtual ? bool | ReceiveCommand (ICommand< TAuthenticationToken > command) |
Receives a ICommand<TAuthenticationToken> from the command bus. More... | |
abstract void | Start () |
Starts listening and processing instances of ICommand<TAuthenticationToken> from the command bus. More... | |
Protected Member Functions | |
QueuedCommandBusReceiver (IAuthenticationTokenHelper< TAuthenticationToken > authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IConfigurationManager configurationManager, IBusHelper busHelper) | |
Instantiates a new instance of QueuedCommandBusReceiver<TAuthenticationToken>. More... | |
virtual void | EnqueueCommand (string targetQueueName, ICommand< TAuthenticationToken > command) |
Places the provided command into the appropriate queue in the QueueTracker. More... | |
virtual void | CreateQueueAndAttachListenerIfNotExist (string queueName) |
Checks if the queue exists, if it doesn't it creates a new queue in QueueTracker and then starts a separate Thread running DequeuAndProcessCommand. More... | |
virtual void | DequeuAndProcessCommand (string queueName) |
Infinitely runs a loop checking if the queue exists in QueueTracker and then dequeues ICommand<TAuthenticationToken> one at a time, pausing for 0.1 seconds between loops. More... | |
Properties | |
static ConcurrentDictionary< string, ConcurrentQueue< ICommand< TAuthenticationToken > > > | QueueTracker [get] |
The queues keyed by an identifier. More... | |
ReaderWriterLockSlim | QueueTrackerLock [get] |
A ReaderWriterLockSlim for providing a lock mechanism around the main QueueTracker. More... | |
IAuthenticationTokenHelper< TAuthenticationToken > | AuthenticationTokenHelper [get] |
Gets or sets the IAuthenticationTokenHelper<TAuthenticationToken> More... | |
ICorrelationIdHelper | CorrelationIdHelper [get] |
Gets or sets the ICorrelationIdHelper More... | |
ILogger | Logger [get] |
Gets or sets the ILogger More... | |
IConfigurationManager | ConfigurationManager [get] |
Gets or sets the IConfigurationManager More... | |
IBusHelper | BusHelper [get] |
Gets or sets the IBusHelper More... | |
abstract IDictionary< Type, IList< Action< IMessage > > > | Routes [get] |
Gets or sets the routes or handlers that will be executed as the commands arrive. More... | |
int | QueueCount [get] |
The current number of queues in QueueTracker. More... | |
ICollection< string > | QueueNames [get] |
Gets the names of all queues in QueueTracker. More... | |
Receives instances of a ICommand<TAuthenticationToken> from the command bus, places them into one of several internal concurrent queues and then processes the commands one at a time per queue.
TAuthenticationToken | The Type of authentication token. |