diff options
| author | Gordon Sim <gsim@apache.org> | 2009-02-12 11:43:51 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2009-02-12 11:43:51 +0000 |
| commit | 3f7745fb58b028058a860d7e95f308404728f09f (patch) | |
| tree | dd28c178bed1a4f38dbb05e755cee7448e87600c /cpp/src/qpid/broker/Queue.h | |
| parent | 30072b3b418ab9b0af293482878591b7beb6e9bf (diff) | |
| download | qpid-python-3f7745fb58b028058a860d7e95f308404728f09f.tar.gz | |
QPID-1660: If selected consumer can't take a message, ensure others are notified of message availability.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@743694 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.h')
| -rw-r--r-- | cpp/src/qpid/broker/Queue.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Queue.h b/cpp/src/qpid/broker/Queue.h index e4bcded8bd..61fbd45de8 100644 --- a/cpp/src/qpid/broker/Queue.h +++ b/cpp/src/qpid/broker/Queue.h @@ -68,6 +68,7 @@ namespace qpid { typedef std::deque<QueuedMessage> Messages; typedef std::map<string,boost::intrusive_ptr<Message> > LVQ; + enum ConsumeCode {NO_MESSAGES=0, CANT_CONSUME=1, CONSUMED=2}; const string name; const bool autodelete; @@ -104,8 +105,9 @@ namespace qpid { void setPolicy(std::auto_ptr<QueuePolicy> policy); bool seek(QueuedMessage& msg, Consumer::shared_ptr position); bool getNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); - bool consumeNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); + ConsumeCode consumeNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); bool browseNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); + void notifyListener(); void removeListener(Consumer::shared_ptr); |
