diff options
author | Alan Conway <aconway@apache.org> | 2012-02-17 14:54:46 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2012-02-17 14:54:46 +0000 |
commit | 0ae82e5d20094e25c41adc3e3924f17984a7bce9 (patch) | |
tree | 8713b63bcb6cba8550628af3874d259ff40c6a0d /qpid/cpp/src/qpid/broker/Queue.h | |
parent | 454855a993904238a5401f145326943159f97532 (diff) | |
download | qpid-python-0ae82e5d20094e25c41adc3e3924f17984a7bce9.tar.gz |
QPID-3603: Merge new HA foundations.
Merged from qpid-3603-7. This is basic support for the new HA approach.
For information & limitations see qpid/cpp/design_docs/new-ha-design.txt.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1245587 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/broker/Queue.h')
-rw-r--r-- | qpid/cpp/src/qpid/broker/Queue.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/qpid/cpp/src/qpid/broker/Queue.h b/qpid/cpp/src/qpid/broker/Queue.h index 5eca1e9b0c..e8573c17cc 100644 --- a/qpid/cpp/src/qpid/broker/Queue.h +++ b/qpid/cpp/src/qpid/broker/Queue.h @@ -149,10 +149,7 @@ class Queue : public boost::enable_shared_from_this<Queue>, void observeAcquire(const QueuedMessage& msg, const sys::Mutex::ScopedLock& lock); void observeRequeue(const QueuedMessage& msg, const sys::Mutex::ScopedLock& lock); void observeDequeue(const QueuedMessage& msg, const sys::Mutex::ScopedLock& lock); - - /** modify the Queue's message container - assumes messageLock held */ - void pop(const sys::Mutex::ScopedLock& held); // acquire front msg - void popAndDequeue(const sys::Mutex::ScopedLock& held); // acquire and dequeue front msg + bool popAndDequeue(QueuedMessage&, const sys::Mutex::ScopedLock& lock); // acquire message @ position, return true and set msg if acquire succeeds bool acquire(const qpid::framing::SequenceNumber& position, QueuedMessage& msg, const sys::Mutex::ScopedLock& held); @@ -192,7 +189,7 @@ class Queue : public boost::enable_shared_from_this<Queue>, } } - void checkNotDeleted(); + void checkNotDeleted(const Consumer::shared_ptr& c); void notifyDeleted(); public: @@ -400,6 +397,7 @@ class Queue : public boost::enable_shared_from_this<Queue>, */ QPID_BROKER_EXTERN framing::SequenceNumber getPosition(); void addObserver(boost::shared_ptr<QueueObserver>); + void removeObserver(boost::shared_ptr<QueueObserver>); QPID_BROKER_EXTERN void insertSequenceNumbers(const std::string& key); /** * Notify queue that recovery has completed. @@ -419,7 +417,7 @@ class Queue : public boost::enable_shared_from_this<Queue>, void flush(); - const Broker* getBroker(); + Broker* getBroker(); uint32_t getDequeueSincePurge() { return dequeueSincePurge.get(); } void setDequeueSincePurge(uint32_t value); |