diff options
author | Gordon Sim <gsim@apache.org> | 2009-02-26 17:18:46 +0000 |
---|---|---|
committer | Gordon Sim <gsim@apache.org> | 2009-02-26 17:18:46 +0000 |
commit | ca7460747ce41c91ef1d485b514e9dfe2879cb1c (patch) | |
tree | 7238c0f779cc1967b33fe1efaade6e35629fc197 /cpp/src/qpid/broker/Queue.h | |
parent | b12874a1e35a05a5489c95f8099733ff788225e5 (diff) | |
download | qpid-python-ca7460747ce41c91ef1d485b514e9dfe2879cb1c.tar.gz |
QPID-1695: Make LVQ persist durable messages
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@748214 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.h')
-rw-r--r-- | cpp/src/qpid/broker/Queue.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Queue.h b/cpp/src/qpid/broker/Queue.h index 14849b3c8e..dfba0533e6 100644 --- a/cpp/src/qpid/broker/Queue.h +++ b/cpp/src/qpid/broker/Queue.h @@ -85,6 +85,7 @@ namespace qpid { std::vector<std::string> traceExclude; QueueListeners listeners; Messages messages; + Messages pendingDequeues;//used to avoid dequeuing during recovery LVQ lvq; mutable qpid::sys::Mutex consumerLock; mutable qpid::sys::Mutex messageLock; @@ -101,7 +102,7 @@ namespace qpid { int eventMode; QueueEvents* eventMgr; - void push(boost::intrusive_ptr<Message>& msg); + void push(boost::intrusive_ptr<Message>& msg, bool isRecovery=false); void setPolicy(std::auto_ptr<QueuePolicy> policy); bool seek(QueuedMessage& msg, Consumer::shared_ptr position); bool getNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); @@ -290,6 +291,11 @@ namespace qpid { void setPosition(framing::SequenceNumber pos); int getEventMode(); void setQueueEventManager(QueueEvents&); + + /** + * Notify queue that recovery has completed. + */ + void recoveryComplete(); }; } } |