diff options
Diffstat (limited to 'qpid/cpp/src/qpid/broker/Consumer.h')
-rw-r--r-- | qpid/cpp/src/qpid/broker/Consumer.h | 15 |
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; |