summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/Consumer.h
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/broker/Consumer.h')
-rw-r--r--qpid/cpp/src/qpid/broker/Consumer.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/qpid/cpp/src/qpid/broker/Consumer.h b/qpid/cpp/src/qpid/broker/Consumer.h
index d13d8075a9..3330e3918f 100644
--- a/qpid/cpp/src/qpid/broker/Consumer.h
+++ b/qpid/cpp/src/qpid/broker/Consumer.h
@@ -34,10 +34,12 @@ class QueueListeners;
/**
* Base class for consumers which represent a subscription to a queue.
*/
-class Consumer {
+class Consumer
+{
const bool acquires;
- // inListeners allows QueueListeners to efficiently track if this instance is registered
- // for notifications without having to search its containers
+ // inListeners allows QueueListeners to efficiently track if this
+ // instance is registered for notifications without having to
+ // search its containers
bool inListeners;
// the name is generated by broker and is unique within broker scope. It is not
// provided or known by the remote Consumer.
@@ -61,7 +63,12 @@ class Consumer {
virtual bool accept(boost::intrusive_ptr<Message>) { return true; }
virtual OwnershipToken* getSession() = 0;
virtual void cancel() = 0;
- virtual bool isDelayedCompletion() const { return false; }
+
+ /** Called when the peer has acknowledged receipt of the message.
+ * Not to be confused with accept() above, which is asking if
+ * this consumer will consume/browse the message.
+ */
+ virtual void acknowledged(const QueuedMessage&) = 0;
protected:
framing::SequenceNumber position;