diff options
author | Kim van der Riet <kpvdr@apache.org> | 2012-06-25 19:11:55 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2012-06-25 19:11:55 +0000 |
commit | cbd4f9c22974db5f53b42a4326486ec8325b79cc (patch) | |
tree | 95986a4f10104ea2b9cc79c7463d0bc9ab451bcf /cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp | |
parent | b95f9427ede4a2045ac6424a6341de9185a13602 (diff) | |
download | qpid-python-cbd4f9c22974db5f53b42a4326486ec8325b79cc.tar.gz |
WIP - transactional consume path completed, still some testing to be done.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1353703 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp')
-rw-r--r-- | cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp b/cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp index d8b312f011..8bb79367ed 100644 --- a/cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp +++ b/cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp @@ -23,6 +23,8 @@ #include "SimpleQueue.h" +#include "DeliveryRecord.h" +#include "MessageConsumer.h" #include "MessageDeque.h" #include "SimpleMessage.h" #include "QueueAsyncContext.h" @@ -63,12 +65,7 @@ SimpleQueue::SimpleQueue(const std::string& name, } SimpleQueue::~SimpleQueue() -{ -// m_store->flush(*this); - // TODO: Make destroying the store a test parameter -// m_store->destroy(*this); -// m_store = 0; -} +{} // static void @@ -170,16 +167,24 @@ SimpleQueue::deliver(boost::intrusive_ptr<SimpleMessage> msg) } bool -SimpleQueue::dispatch() +SimpleQueue::dispatch(MessageConsumer& mc) { QueuedMessage qm; if (m_messages->consume(qm)) { - return dequeue(s_nullTxnHandle, qm); + boost::shared_ptr<DeliveryRecord> dr(new DeliveryRecord(qm, mc, false)); + mc.record(dr); + return true; } return false; } bool +SimpleQueue::enqueue(QueuedMessage& qm) +{ + return enqueue(s_nullTxnHandle, qm); +} + +bool SimpleQueue::enqueue(qpid::broker::TxnHandle& th, QueuedMessage& qm) { @@ -195,6 +200,12 @@ SimpleQueue::enqueue(qpid::broker::TxnHandle& th, } bool +SimpleQueue::dequeue(QueuedMessage& qm) +{ + return dequeue(s_nullTxnHandle, qm); +} + +bool SimpleQueue::dequeue(qpid::broker::TxnHandle& th, QueuedMessage& qm) { |