Proton DotNet
Public Member Functions | Properties | List of all members
Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T > Interface Template Reference

A generic delivery queue used to hold messages or other delivery objects that need to be consumed in order and also provides put-back options for redelivery scenarios. More...

Inheritance diagram for Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >:
Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >

Public Member Functions

void Enqueue (T delivery)
 Adds the given delivery to the end of the delivery queue. More...
 
void EnqueueFront (T delivery)
 Adds the given delivery to the front of the delivery queue. More...
 
Dequeue (TimeSpan timeout)
 Used to get the next available Delivery. The amount of time this method blocks is based on the timeout value that is supplied to it. More...
 
DequeueNoWait ()
 Dequeue and return the next available delivery if one is available without the need to block, otherwise returns null. More...
 
void Start ()
 Starts the Queue and makes it available for dequeue operations, a non-started queue will always return null for any dequeue operations but will accept new queued deliveries for later dequeue when started. More...
 
void Stop ()
 Stops the delivery Queue which wakes any current waiters and prevents any future calls to dequeue a delivery from blocking. New incoming deliveries can still be queued in this state. More...
 
void Close ()
 Close the delivery Queue and purge any current deliveries and wakes all waiters currently blocked on a dequeue call. Once closed a delivery queue cannot be started again and no new deliveries can be queued. More...
 
void Clear ()
 Purge all currently queued deliveries from this delivery queue. More...
 

Properties

int Count [get]
 Retrieves the number of queued deliveries current held in this delivery queue. More...
 
bool IsEmpty [get]
 Checks if the delivery queue is currently empty or not. More...
 
bool IsRunning [get]
 Checks if the queue has been stopped or closed, if not then the queue is in a running state. More...
 
bool IsClosed [get]
 Checks if the queue has been closed or is still available for use. When this method returns false this queue can still be in a stopped state and may not be returning deliveries. More...
 

Detailed Description

A generic delivery queue used to hold messages or other delivery objects that need to be consumed in order and also provides put-back options for redelivery scenarios.

Template Parameters
TThe type of delivery object this Queue manages
Type Constraints
T :class 

Member Function Documentation

◆ Clear()

Purge all currently queued deliveries from this delivery queue.

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ Close()

Close the delivery Queue and purge any current deliveries and wakes all waiters currently blocked on a dequeue call. Once closed a delivery queue cannot be started again and no new deliveries can be queued.

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ Dequeue()

T Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.Dequeue ( TimeSpan  timeout)

Used to get the next available Delivery. The amount of time this method blocks is based on the timeout value that is supplied to it.

Parameters
timeoutThe time to wait for a delivery to arrive
Returns
The next delivery in the Queue if one arrives within the time span
Exceptions
ThreadInterruptedExceptionIf the waiting thread is interrupted

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ DequeueNoWait()

Dequeue and return the next available delivery if one is available without the need to block, otherwise returns null.

Returns
The next available delivery or null if none ready

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ Enqueue()

void Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.Enqueue ( delivery)

Adds the given delivery to the end of the delivery queue.

The Delivery to add to the Queue

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ EnqueueFront()

void Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.EnqueueFront ( delivery)

Adds the given delivery to the front of the delivery queue.

The Delivery to add to the Queue

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ Start()

Starts the Queue and makes it available for dequeue operations, a non-started queue will always return null for any dequeue operations but will accept new queued deliveries for later dequeue when started.

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

◆ Stop()

Stops the delivery Queue which wakes any current waiters and prevents any future calls to dequeue a delivery from blocking. New incoming deliveries can still be queued in this state.

Implemented in Apache.Qpid.Proton.Client.Utilities.FifoDeliveryQueue< T >.

Property Documentation

◆ Count

Retrieves the number of queued deliveries current held in this delivery queue.

◆ IsClosed

Checks if the queue has been closed or is still available for use. When this method returns false this queue can still be in a stopped state and may not be returning deliveries.

Returns
true if the queue is currently not closed

◆ IsEmpty

Checks if the delivery queue is currently empty or not.

Returns
true if there are no currently queued deliveries

◆ IsRunning

Checks if the queue has been stopped or closed, if not then the queue is in a running state.

Returns
true if the queue is currently not stopped or closed

The documentation for this interface was generated from the following file: