diff options
author | Carl C. Trieloff <cctrieloff@apache.org> | 2007-09-21 19:10:31 +0000 |
---|---|---|
committer | Carl C. Trieloff <cctrieloff@apache.org> | 2007-09-21 19:10:31 +0000 |
commit | cbc5208454b68c36ffec6b6bee87d4598e23be6c (patch) | |
tree | 8d54a2e0dfb85a6638c1374ebe1ecf320702e3e9 | |
parent | 2f6d6ad7efd788b71204af67dff51b6233881e2e (diff) | |
download | qpid-python-cbc5208454b68c36ffec6b6bee87d4598e23be6c.tar.gz |
- dequeue fix for AIO
- added access functions needed for AIO in Recoverable classes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@578232 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | cpp/src/qpid/broker/BrokerQueue.cpp | 4 | ||||
-rw-r--r-- | cpp/src/qpid/broker/RecoverableQueue.h | 3 | ||||
-rw-r--r-- | cpp/src/qpid/broker/RecoveryManagerImpl.cpp | 14 |
3 files changed, 16 insertions, 5 deletions
diff --git a/cpp/src/qpid/broker/BrokerQueue.cpp b/cpp/src/qpid/broker/BrokerQueue.cpp index e41c54b52c..74ba4f24ed 100644 --- a/cpp/src/qpid/broker/BrokerQueue.cpp +++ b/cpp/src/qpid/broker/BrokerQueue.cpp @@ -255,9 +255,7 @@ QueuedMessage Queue::dequeue(){ QueuedMessage msg; if(!messages.empty()){ msg = messages.front(); - if (msg.payload->isEnqueueComplete()){ - pop(); - } + pop(); } return msg; } diff --git a/cpp/src/qpid/broker/RecoverableQueue.h b/cpp/src/qpid/broker/RecoverableQueue.h index 578cc09e04..b32bae7f07 100644 --- a/cpp/src/qpid/broker/RecoverableQueue.h +++ b/cpp/src/qpid/broker/RecoverableQueue.h @@ -40,6 +40,7 @@ public: typedef boost::shared_ptr<RecoverableQueue> shared_ptr; virtual void setPersistenceId(uint64_t id) = 0; + virtual uint64_t getPersistenceId() const = 0; /** * Used during recovery to add stored messages back to the queue */ @@ -48,7 +49,7 @@ public: virtual const std::string& getName() const = 0; virtual void setExternalQueueStore(ExternalQueueStore* inst) = 0; - + virtual ExternalQueueStore* getExternalQueueStore() const = 0; }; diff --git a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp index 51fc99fa3e..45b7c588b6 100644 --- a/cpp/src/qpid/broker/RecoveryManagerImpl.cpp +++ b/cpp/src/qpid/broker/RecoveryManagerImpl.cpp @@ -61,9 +61,11 @@ class RecoverableQueueImpl : public RecoverableQueue public: RecoverableQueueImpl(Queue::shared_ptr& _queue) : queue(_queue) {} ~RecoverableQueueImpl() {}; - void setPersistenceId(uint64_t id); + void setPersistenceId(uint64_t id); + uint64_t getPersistenceId() const; const std::string& getName() const; void setExternalQueueStore(ExternalQueueStore* inst); + ExternalQueueStore* getExternalQueueStore() const; void recover(RecoverableMessage::shared_ptr msg); void enqueue(DtxBuffer::shared_ptr buffer, RecoverableMessage::shared_ptr msg); void dequeue(DtxBuffer::shared_ptr buffer, RecoverableMessage::shared_ptr msg); @@ -156,6 +158,11 @@ void RecoverableQueueImpl::setPersistenceId(uint64_t id) { queue->setPersistenceId(id); } + +uint64_t RecoverableQueueImpl::getPersistenceId() const +{ + return queue->getPersistenceId(); +} const std::string& RecoverableQueueImpl::getName() const { @@ -167,6 +174,11 @@ void RecoverableQueueImpl::setExternalQueueStore(ExternalQueueStore* inst) queue->setExternalQueueStore(inst); } +ExternalQueueStore* RecoverableQueueImpl::getExternalQueueStore() const +{ + return queue->getExternalQueueStore(); +} + void RecoverableExchangeImpl::setPersistenceId(uint64_t id) { exchange->setPersistenceId(id); |