summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl C. Trieloff <cctrieloff@apache.org>2007-09-21 19:10:31 +0000
committerCarl C. Trieloff <cctrieloff@apache.org>2007-09-21 19:10:31 +0000
commitcbc5208454b68c36ffec6b6bee87d4598e23be6c (patch)
tree8d54a2e0dfb85a6638c1374ebe1ecf320702e3e9
parent2f6d6ad7efd788b71204af67dff51b6233881e2e (diff)
downloadqpid-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.cpp4
-rw-r--r--cpp/src/qpid/broker/RecoverableQueue.h3
-rw-r--r--cpp/src/qpid/broker/RecoveryManagerImpl.cpp14
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);