Interface DeliveryQueue
- All Known Implementing Classes:
FifoDeliveryQueue
public interface DeliveryQueue
Queue based storage interface for inbound AMQP
Delivery objects.-
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clears the Queue of any queuedDeliveryvalues.voidclose()Closes the Delivery Queue.dequeue(long timeout) Used to get anDelivery.Used to get an enqueuedDeliveryif on exists, otherwise returns null.voidenqueue(ClientDelivery delivery) Adds the givenDeliveryto the end of the Delivery queue.voidenqueueFirst(ClientDelivery delivery) Adds the givenDeliveryto the front of the queue.booleanisClosed()booleanisEmpty()booleanintsize()Returns the number of deliveries currently in the Queue.voidstart()Starts the Delivery Queue.voidstop()Stops the Delivery Queue.
-
Method Details
-
enqueue
Adds the givenDeliveryto the end of the Delivery queue.- Parameters:
delivery- The in-bound Delivery to enqueue.
-
enqueueFirst
Adds the givenDeliveryto the front of the queue.- Parameters:
delivery- The in-bound Delivery to enqueue.
-
dequeue
Used to get anDelivery. The amount of time this method blocks is based on the timeout value that is supplied to it.- If the timeout value is less than zero the dequeue operation blocks until a Delivery is enqueued or the queue is stopped.
- If the timeout value is zero the dequeue operation will not block and will either return the next Delivery on the Queue or null to indicate the queue is empty.
- If the timeout value is greater than zero then the method will either return the next Delivery in the queue or block until the timeout (in milliseconds) has expired or until a new Delivery is placed onto the queue.
- Parameters:
timeout- The amount of time to wait for an entry to be added before returning null.- Returns:
- null if we timeout or if the
Receiveris closed. - Throws:
InterruptedException- if the wait is interrupted.
-
dequeueNoWait
ClientDelivery dequeueNoWait()Used to get an enqueuedDeliveryif on exists, otherwise returns null.- Returns:
- the next Delivery in the Queue if one exists, otherwise null.
-
start
void start()Starts the Delivery Queue. An non-started Queue will always return null for any of the Queue methods. -
stop
void stop()Stops the Delivery Queue. Deliveries cannot be read from the Queue when it is in the stopped state and any waiters will be woken. -
close
void close()Closes the Delivery Queue. No Delivery can be added or removed from the Queue once it has entered the closed state. -
isRunning
boolean isRunning()- Returns:
- true if the Queue is not in the stopped or closed state.
-
isClosed
boolean isClosed()- Returns:
- true if the Queue has been closed.
-
isEmpty
boolean isEmpty()- Returns:
- true if there are no deliveries in the queue.
-
size
int size()Returns the number of deliveries currently in the Queue. This value is only meaningful at the time of the call as the size of the Queue changes rapidly as deliveries arrive and are consumed.- Returns:
- the current number of
Deliveryobjects in the Queue.
-
clear
void clear()Clears the Queue of any queuedDeliveryvalues.
-