summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/Queue.h
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2012-02-17 14:54:46 +0000
committerAlan Conway <aconway@apache.org>2012-02-17 14:54:46 +0000
commit0ae82e5d20094e25c41adc3e3924f17984a7bce9 (patch)
tree8713b63bcb6cba8550628af3874d259ff40c6a0d /qpid/cpp/src/qpid/broker/Queue.h
parent454855a993904238a5401f145326943159f97532 (diff)
downloadqpid-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.h10
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);