summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
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
commit0948f81a93895b32076abd21a2e65e09f809897f (patch)
treed6a9f4680ac592b52287bad38b22f6fb61566f1c /qpid/cpp/src
parent79159a56c92f3a28bcf99cf8bca2c73190238d45 (diff)
downloadqpid-python-0948f81a93895b32076abd21a2e65e09f809897f.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@578232 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/BrokerQueue.cpp4
-rw-r--r--qpid/cpp/src/qpid/broker/RecoverableQueue.h3
-rw-r--r--qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp14
3 files changed, 16 insertions, 5 deletions
diff --git a/qpid/cpp/src/qpid/broker/BrokerQueue.cpp b/qpid/cpp/src/qpid/broker/BrokerQueue.cpp
index e41c54b52c..74ba4f24ed 100644
--- a/qpid/cpp/src/qpid/broker/BrokerQueue.cpp
+++ b/qpid/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/qpid/cpp/src/qpid/broker/RecoverableQueue.h b/qpid/cpp/src/qpid/broker/RecoverableQueue.h
index 578cc09e04..b32bae7f07 100644
--- a/qpid/cpp/src/qpid/broker/RecoverableQueue.h
+++ b/qpid/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/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp b/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
index 51fc99fa3e..45b7c588b6 100644
--- a/qpid/cpp/src/qpid/broker/RecoveryManagerImpl.cpp
+++ b/qpid/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);