diff options
Diffstat (limited to 'cpp/src/qpid/broker/Queue.h')
| -rw-r--r-- | cpp/src/qpid/broker/Queue.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/Queue.h b/cpp/src/qpid/broker/Queue.h index d9af63d3d9..6becb77ff5 100644 --- a/cpp/src/qpid/broker/Queue.h +++ b/cpp/src/qpid/broker/Queue.h @@ -66,7 +66,7 @@ namespace qpid { typedef std::list<Consumer::shared_ptr> Listeners; typedef std::deque<QueuedMessage> Messages; - typedef std::map<string,QueuedMessage*> LVQ; + typedef std::map<string,QueuedMessage*> LVQ; const string name; const bool autodelete; @@ -95,7 +95,7 @@ namespace qpid { boost::shared_ptr<Exchange> alternateExchange; framing::SequenceNumber sequence; qmf::org::apache::qpid::broker::Queue* mgmtObject; - RateTracker dequeueTracker; +RateTracker dequeueTracker; void push(boost::intrusive_ptr<Message>& msg); void setPolicy(std::auto_ptr<QueuePolicy> policy); @@ -227,6 +227,13 @@ namespace qpid { */ QueuedMessage get(); + /** Get the message at position pos + *@param msg out parameter, assigned to the message found. + *@param pos position to search for. + *@return True if there is a message at pos, false otherwise. + */ + bool find(QueuedMessage& msg, framing::SequenceNumber pos) const; + const QueuePolicy* getPolicy(); void setAlternateExchange(boost::shared_ptr<Exchange> exchange); @@ -264,6 +271,11 @@ namespace qpid { void popMsg(QueuedMessage& qmsg); + /** Set the position sequence number for the next message on the queue. + * Must be >= the current sequence number. + * Used by cluster to replicate queues. + */ + void setPosition(framing::SequenceNumber pos); }; } } |
