C# Class SevenDigital.Messaging.MessageReceiving.RabbitPolling.RabbitMqPollingNode

A pull-based, polling, blocking RabbitMQ work item queue
Inheritance: ITypedPollingNode
Afficher le fichier Open project: i-e-b/SevenDigital.Messaging Class Usage Examples

Méthodes publiques

Méthode Description
AddMessageType ( Type type ) : void

Add a message type that might be bound to the endpoint. This is used to rebuild endpoints in case of failure.

BlockUntilReady ( ) : bool

Advisory method: block if the queue is waiting to be populated.

Enqueue ( IPendingMessage work ) : void

Not currently implemented. Will throw an exception.

This might be useful at some point to inject test messages?

Length ( ) : int

Approximate snapshot length

RabbitMqPollingNode ( IRoutingEndpoint endpoint, IMessagingBase messagingBase, ISleepWrapper sleeper ) : System

Create a work item queue that will try to pull items from a named RabbitMQ endpoint

Stop ( ) : void

Stop receiving messages

TryDequeue ( ) : IWorkQueueItem>

Try and get an item from this queue. Success is encoded in the WQI result 'HasItem'

Private Methods

Méthode Description
DoubleAck ( Exception exception ) : bool
EnsureQueuesAndPollForMessage ( ) : IPendingMessage
IsMissingQueue ( Exception exception ) : bool
SleepingGetMessage ( ) : IPendingMessage
TryRebuildQueues ( ) : void

Method Details

AddMessageType() public méthode

Add a message type that might be bound to the endpoint. This is used to rebuild endpoints in case of failure.
public AddMessageType ( Type type ) : void
type System.Type
Résultat void

BlockUntilReady() public méthode

Advisory method: block if the queue is waiting to be populated.
public BlockUntilReady ( ) : bool
Résultat bool

Enqueue() public méthode

Not currently implemented. Will throw an exception.
This might be useful at some point to inject test messages?
public Enqueue ( IPendingMessage work ) : void
work IPendingMessage
Résultat void

Length() public méthode

Approximate snapshot length
public Length ( ) : int
Résultat int

RabbitMqPollingNode() public méthode

Create a work item queue that will try to pull items from a named RabbitMQ endpoint
public RabbitMqPollingNode ( IRoutingEndpoint endpoint, IMessagingBase messagingBase, ISleepWrapper sleeper ) : System
endpoint IRoutingEndpoint Destination endpoint to pull messages from
messagingBase IMessagingBase RabbitMQ connection provider
sleeper ISleepWrapper Sleeper to rate limit polling
Résultat System

Stop() public méthode

Stop receiving messages
public Stop ( ) : void
Résultat void

TryDequeue() public méthode

Try and get an item from this queue. Success is encoded in the WQI result 'HasItem'
public TryDequeue ( ) : IWorkQueueItem>
Résultat IWorkQueueItem>