summaryrefslogtreecommitdiff
path: root/java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java36
1 files changed, 19 insertions, 17 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java b/java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java
index 27abca012b..5b77951dfd 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/DeliveryManager.java
@@ -32,8 +32,8 @@ import org.apache.qpid.server.store.StoreContext;
interface DeliveryManager
{
/**
- * Determines whether there are queued messages. Sets _queueing to false if
- * there are no queued messages. This needs to be atomic.
+ * Determines whether there are queued messages. Sets _queueing to false if there are no queued messages. This needs
+ * to be atomic.
*
* @return true if there are queued messages
*/
@@ -43,34 +43,34 @@ interface DeliveryManager
* This method should not be used to determin if there are messages in the queue.
*
* @return int The number of messages in the queue
+ *
* @use hasQueuedMessages() for all controls relating to having messages on the queue.
*/
int getQueueMessageCount();
/**
- * Requests that the delivery manager start processing the queue asynchronously
- * if there is work that can be done (i.e. there are messages queued up and
- * subscribers that can receive them.
- * <p/>
- * This should be called when subscribers are added, but only after the consume-ok
- * message has been returned as message delivery may start immediately. It should also
- * be called after unsuspending a client.
- * <p/>
+ * Requests that the delivery manager start processing the queue asynchronously if there is work that can be done
+ * (i.e. there are messages queued up and subscribers that can receive them. <p/> This should be called when
+ * subscribers are added, but only after the consume-ok message has been returned as message delivery may start
+ * immediately. It should also be called after unsuspending a client. <p/>
*
* @param executor the executor on which the delivery should take place
*/
void processAsync(Executor executor);
/**
- * Handles message delivery. The delivery manager is always in one of two modes;
- * it is either queueing messages for asynchronous delivery or delivering
- * directly.
+ * Handles message delivery. The delivery manager is always in one of two modes; it is either queueing messages for
+ * asynchronous delivery or delivering directly.
+ *
+ * @param storeContext
+ * @param name the name of the entity on whose behalf we are delivering the message
+ * @param msg the message to deliver
+ * @param deliverFirst
*
- * @param name the name of the entity on whose behalf we are delivering the message
- * @param msg the message to deliver
- * @throws org.apache.qpid.server.queue.FailedDequeueException if the message could not be dequeued
+ * @throws org.apache.qpid.server.queue.FailedDequeueException
+ * if the message could not be dequeued
*/
- void deliver(StoreContext storeContext, AMQShortString name, AMQMessage msg) throws FailedDequeueException, AMQException;
+ void deliver(StoreContext storeContext, AMQShortString name, AMQMessage msg, boolean deliverFirst) throws FailedDequeueException, AMQException;
void removeAMessageFromTop(StoreContext storeContext) throws AMQException;
@@ -93,4 +93,6 @@ interface DeliveryManager
long getTotalMessageSize();
long getOldestMessageArrival();
+
+ void subscriberHasPendingResend(boolean hasContent, Subscription subscription, AMQMessage msg);
}