From cbd4f9c22974db5f53b42a4326486ec8325b79cc Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Mon, 25 Jun 2012 19:11:55 +0000 Subject: 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 --- .../tests/storePerftools/asyncPerf/SimpleQueue.cpp | 27 +++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'cpp/src/tests/storePerftools/asyncPerf/SimpleQueue.cpp') 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,15 +167,23 @@ SimpleQueue::deliver(boost::intrusive_ptr msg) } bool -SimpleQueue::dispatch() +SimpleQueue::dispatch(MessageConsumer& mc) { QueuedMessage qm; if (m_messages->consume(qm)) { - return dequeue(s_nullTxnHandle, qm); + boost::shared_ptr 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) @@ -194,6 +199,12 @@ SimpleQueue::enqueue(qpid::broker::TxnHandle& th, return false; } +bool +SimpleQueue::dequeue(QueuedMessage& qm) +{ + return dequeue(s_nullTxnHandle, qm); +} + bool SimpleQueue::dequeue(qpid::broker::TxnHandle& th, QueuedMessage& qm) -- cgit v1.2.1