diff options
author | Alan Conway <aconway@apache.org> | 2012-02-13 23:50:18 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2012-02-13 23:50:18 +0000 |
commit | 057a0635e081848ba59964c4a8e0923e521b7fe6 (patch) | |
tree | cdad9578140d5dbdb2e90525e2ba9cc870ca50b6 /qpid/cpp/src/qpid/broker/MessageDeque.h | |
parent | cf61dbf9b313f9bd69b392eae8fd8d27d4e609a2 (diff) | |
download | qpid-python-qpid-3603-5.tar.gz |
Merge branch 'qpid-3603-4-rebase' into qpid-3603-5qpid-3603-5
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/qpid-3603-5@1243748 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/broker/MessageDeque.h')
-rw-r--r-- | qpid/cpp/src/qpid/broker/MessageDeque.h | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/qpid/cpp/src/qpid/broker/MessageDeque.h b/qpid/cpp/src/qpid/broker/MessageDeque.h index 0e1aef2986..4d3a5dcdd5 100644 --- a/qpid/cpp/src/qpid/broker/MessageDeque.h +++ b/qpid/cpp/src/qpid/broker/MessageDeque.h @@ -34,17 +34,14 @@ namespace broker { class MessageDeque : public Messages { public: + MessageDeque(); size_t size(); - bool empty(); - - void reinsert(const QueuedMessage&); - bool remove(const framing::SequenceNumber&, QueuedMessage&); + bool deleted(const QueuedMessage&); + void release(const QueuedMessage&); + bool acquire(const framing::SequenceNumber&, QueuedMessage&); bool find(const framing::SequenceNumber&, QueuedMessage&); - bool next(const framing::SequenceNumber&, QueuedMessage&); - - QueuedMessage& front(); - void pop(); - bool pop(QueuedMessage&); + bool browse(const framing::SequenceNumber&, QueuedMessage&, bool); + bool consume(QueuedMessage&); bool push(const QueuedMessage& added, QueuedMessage& removed); void foreach(Functor); @@ -53,9 +50,11 @@ class MessageDeque : public Messages private: typedef std::deque<QueuedMessage> Deque; Deque messages; + size_t available; + size_t head; - Deque::iterator seek(const framing::SequenceNumber&); - bool find(const framing::SequenceNumber&, QueuedMessage&, bool remove); + size_t index(const framing::SequenceNumber&); + void clean(); }; }} // namespace qpid::broker |