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

Simple first in / first out delivery queue with no reordering for priority or other criteria. More...

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

Public Member Functions

void Clear ()
 Purge all currently queued deliveries from this delivery queue. 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...
 
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 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...
 
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...
 

Properties

bool IsRunning [get]
 
bool IsClosed [get]
 
bool IsEmpty [get]
 
int Count [get]
 
- Properties inherited from Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >
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

Simple first in / first out delivery queue with no reordering for priority or other criteria.

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.

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< 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.

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.

◆ Dequeue()

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

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

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< 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

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.

◆ Enqueue()

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

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

The Delivery to add to the Queue

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.

◆ EnqueueFront()

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

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

The Delivery to add to the Queue

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< 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.

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< 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.

Implements Apache.Qpid.Proton.Client.Utilities.IDeliveryQueue< T >.


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