summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.h
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2009-02-26 17:18:46 +0000
committerGordon Sim <gsim@apache.org>2009-02-26 17:18:46 +0000
commitca7460747ce41c91ef1d485b514e9dfe2879cb1c (patch)
tree7238c0f779cc1967b33fe1efaade6e35629fc197 /cpp/src/qpid/broker/Queue.h
parentb12874a1e35a05a5489c95f8099733ff788225e5 (diff)
downloadqpid-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.h8
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();
};
}
}