diff options
author | Kim van der Riet <kpvdr@apache.org> | 2012-06-15 19:21:07 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2012-06-15 19:21:07 +0000 |
commit | 58337ca40df3a57a16cdee9b7f6b4fe0361b0018 (patch) | |
tree | 391ad7ad1ea8cd42a7e9d4890c724b186e00f38b /cpp/src/tests/storePerftools/asyncPerf/SimpleTransactionContext.h | |
parent | 01174a9e568f11cd5aa4f22aaa914e00ab9fe163 (diff) | |
download | qpid-python-58337ca40df3a57a16cdee9b7f6b4fe0361b0018.tar.gz |
QPID-3858: WIP - async txns for msg publish pathway, but there are some race/thread issues to sort out.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1350745 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/storePerftools/asyncPerf/SimpleTransactionContext.h')
-rw-r--r-- | cpp/src/tests/storePerftools/asyncPerf/SimpleTransactionContext.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/cpp/src/tests/storePerftools/asyncPerf/SimpleTransactionContext.h b/cpp/src/tests/storePerftools/asyncPerf/SimpleTransactionContext.h deleted file mode 100644 index 49fee9c720..0000000000 --- a/cpp/src/tests/storePerftools/asyncPerf/SimpleTransactionContext.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/** - * \file SimpleTransactionContext.h - */ - -#ifndef tests_storePerftools_asyncPerf_SimpleTransactionContext_h_ -#define tests_storePerftools_asyncPerf_SimpleTransactionContext_h_ - -#include "qpid/broker/TransactionalStore.h" // qpid::broker::TransactionContext -#include "qpid/broker/TxnHandle.h" -#include "qpid/sys/Mutex.h" - -#include <deque> - -namespace qpid { -namespace asyncStore { -class AsyncStoreImpl; -} -namespace broker { -class AsyncResult; -class BrokerAsyncContext; -}} - -namespace tests { -namespace storePerftools { -namespace asyncPerf { - -class QueuedMessage; -class TransactionAsyncContext; - -class SimpleTransactionContext : public qpid::broker::TransactionContext -{ -public: - SimpleTransactionContext(const std::string& xid = std::string()); - SimpleTransactionContext(qpid::asyncStore::AsyncStoreImpl* store, - const std::string& xid = std::string()); - virtual ~SimpleTransactionContext(); -// static void handleAsyncResult(const qpid::broker::AsyncResult* res, -// qpid::broker::BrokerAsyncContext* bc); - - const qpid::broker::TxnHandle& getHandle() const; - qpid::broker::TxnHandle& getHandle(); - bool is2pc() const; - const std::string& getXid() const; - void addEnqueuedMsg(QueuedMessage* qm); - - void prepare(); - void abort(); - void commit(); - -private: - std::string m_xid; - bool m_tpcFlag; - qpid::asyncStore::AsyncStoreImpl* m_store; - qpid::broker::TxnHandle m_txnHandle; - bool m_prepared; - std::deque<QueuedMessage*> m_enqueuedMsgs; - qpid::sys::Mutex m_enqueuedMsgsMutex; - - void localPrepare(); - void setLocalXid(); - - // --- Ascnc op completions (called through handleAsyncResult) --- - void prepareComplete(const TransactionAsyncContext* tc); - void abortComplete(const TransactionAsyncContext* tc); - void commitComplete(const TransactionAsyncContext* tc); - -}; - -}}} // namespace tests:storePerftools::asyncPerf - -#endif // tests_storePerftools_asyncPerf_SimpleTransactionContext_h_ |