You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2012/09/24 15:49:16 UTC
svn commit: r1389378 [2/2] - in /qpid/branches/asyncstore/cpp/src: ./
qpid/asyncStore/ qpid/broker/ qpid/ha/ qpid/management/ qpid/store/
qpid/xml/ tests/
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/QueueAsyncContext.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/QueueAsyncContext.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/QueueAsyncContext.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/QueueAsyncContext.h Mon Sep 24 13:49:13 2012
@@ -24,9 +24,9 @@
#ifndef qpid_broker_QueueAsyncContext_h_
#define qpid_broker_QueueAsyncContext_h_
-#include "AsyncResultHandle.h"
-#include "AsyncStore.h"
-#include "TxnHandle.h"
+#include "qpid/broker/AsyncResultHandle.h"
+#include "qpid/broker/AsyncStore.h"
+#include "qpid/broker/TxnHandle.h"
#include "qpid/asyncStore/AsyncOperation.h"
@@ -36,7 +36,7 @@
namespace qpid {
namespace broker {
-class PersistableMessage;
+//class PersistableMessage;
class PersistableQueue;
typedef void (*AsyncResultCallback)(const AsyncResultHandle* const);
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.cpp Mon Sep 24 13:49:13 2012
@@ -41,7 +41,8 @@ namespace qpid {
namespace broker {
-QueueFactory::QueueFactory() : broker(0), store(0), parent(0) {}
+//QueueFactory::QueueFactory() : broker(0), store(0), parent(0) {}
+QueueFactory::QueueFactory() : broker(0), asyncStore(0), parent(0) {}
boost::shared_ptr<Queue> QueueFactory::create(const std::string& name, const QueueSettings& settings)
{
@@ -51,12 +52,15 @@ boost::shared_ptr<Queue> QueueFactory::c
// -> if 'ring' policy is in use then subclass
boost::shared_ptr<Queue> queue;
if (settings.dropMessagesAtLimit) {
- queue = boost::shared_ptr<Queue>(new LossyQueue(name, settings, settings.durable ? store : 0, parent, broker));
+// queue = boost::shared_ptr<Queue>(new LossyQueue(name, settings, settings.durable ? store : 0, parent, broker));
+ queue = boost::shared_ptr<Queue>(new LossyQueue(name, settings, settings.durable ? asyncStore : 0, parent, broker));
} else if (settings.lvqKey.size()) {
std::auto_ptr<MessageMap> map(new MessageMap(settings.lvqKey));
- queue = boost::shared_ptr<Queue>(new Lvq(name, map, settings, settings.durable ? store : 0, parent, broker));
+// queue = boost::shared_ptr<Queue>(new Lvq(name, map, settings, settings.durable ? store : 0, parent, broker));
+ queue = boost::shared_ptr<Queue>(new Lvq(name, map, settings, settings.durable ? asyncStore : 0, parent, broker));
} else {
- queue = boost::shared_ptr<Queue>(new Queue(name, settings, settings.durable ? store : 0, parent, broker));
+// queue = boost::shared_ptr<Queue>(new Queue(name, settings, settings.durable ? store : 0, parent, broker));
+ queue = boost::shared_ptr<Queue>(new Queue(name, settings, settings.durable ? asyncStore : 0, parent, broker));
}
//2. determine Messages type (i.e. structure)
@@ -98,13 +102,15 @@ Broker* QueueFactory::getBroker()
{
return broker;
}
-void QueueFactory::setStore (MessageStore* s)
+//void QueueFactory::setStore (MessageStore* s)
+void QueueFactory::setStore (AsyncStore* as)
{
- store = s;
+ asyncStore = as;
}
-MessageStore* QueueFactory::getStore() const
+//MessageStore* QueueFactory::getStore() const
+AsyncStore* QueueFactory::getStore() const
{
- return store;
+ return asyncStore;
}
void QueueFactory::setParent(management::Manageable* p)
{
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/QueueFactory.h Mon Sep 24 13:49:13 2012
@@ -31,7 +31,8 @@ class Manageable;
}
namespace broker {
class Broker;
-class MessageStore;
+//class MessageStore;
+class AsyncStore;
class Queue;
struct QueueSettings;
@@ -52,12 +53,14 @@ class QueueFactory
/**
* Set the store to use. May only be called once.
*/
- void setStore (MessageStore*);
+// void setStore (MessageStore*);
+ void setStore (AsyncStore*);
/**
* Return the message store used.
*/
- MessageStore* getStore() const;
+// MessageStore* getStore() const;
+ AsyncStore* getStore() const;
/**
* Register the manageable parent for declared queues
@@ -65,7 +68,8 @@ class QueueFactory
void setParent(management::Manageable*);
private:
Broker* broker;
- MessageStore* store;
+// MessageStore* store;
+ AsyncStore* asyncStore;
management::Manageable* parent;
};
}} // namespace qpid::broker
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/QueueHandle.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/QueueHandle.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/QueueHandle.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/QueueHandle.cpp Mon Sep 24 13:49:13 2012
@@ -23,9 +23,8 @@
#include "QueueHandle.h"
-#include "PrivateImplRef.h"
-
#include "qpid/asyncStore/QueueHandleImpl.h"
+#include "qpid/broker/PrivateImplRef.h"
namespace qpid {
namespace broker {
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.cpp Mon Sep 24 13:49:13 2012
@@ -100,12 +100,14 @@ Queue::shared_ptr QueueRegistry::get(con
return q;
}
-void QueueRegistry::setStore (MessageStore* _store)
+//void QueueRegistry::setStore (MessageStore* _store)
+void QueueRegistry::setStore (AsyncStore* _store)
{
QueueFactory::setStore(_store);
}
-MessageStore* QueueRegistry::getStore() const
+//MessageStore* QueueRegistry::getStore() const
+AsyncStore* QueueRegistry::getStore() const
{
return QueueFactory::getStore();
}
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/QueueRegistry.h Mon Sep 24 13:49:13 2012
@@ -97,12 +97,14 @@ class QueueRegistry : QueueFactory {
/**
* Set the store to use. May only be called once.
*/
- void setStore (MessageStore*);
+// void setStore (MessageStore*);
+ void setStore (AsyncStore*);
/**
* Return the message store used.
*/
- MessageStore* getStore() const;
+// MessageStore* getStore() const;
+ AsyncStore* getStore() const;
/**
* Register the manageable parent for declared queues
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredDequeue.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredDequeue.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredDequeue.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredDequeue.h Mon Sep 24 13:49:13 2012
@@ -23,7 +23,7 @@
#include "qpid/broker/Deliverable.h"
#include "qpid/broker/Message.h"
-#include "qpid/broker/MessageStore.h"
+//#include "qpid/broker/MessageStore.h"
#include "qpid/broker/TxOp.h"
#include <algorithm>
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredEnqueue.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredEnqueue.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredEnqueue.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveredEnqueue.h Mon Sep 24 13:49:13 2012
@@ -23,7 +23,7 @@
#include "qpid/broker/Deliverable.h"
#include "qpid/broker/Message.h"
-#include "qpid/broker/MessageStore.h"
+//#include "qpid/broker/MessageStore.h"
#include "qpid/broker/TxOp.h"
#include <algorithm>
Added: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.cpp?rev=1389378&view=auto
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.cpp (added)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.cpp Mon Sep 24 13:49:13 2012
@@ -0,0 +1,57 @@
+/*
+ * 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 RecoveryAsyncContext.cpp
+ */
+
+#include "RecoveryAsyncContext.h"
+
+namespace qpid {
+namespace broker {
+
+RecoveryAsyncContext::RecoveryAsyncContext(RecoveryManagerImpl& rm,
+ AsyncResultCallback rcb,
+ AsyncResultQueue* const arq) :
+ m_rm(rm),
+ m_rcb(rcb),
+ m_arq(arq)
+{}
+
+RecoveryAsyncContext::~RecoveryAsyncContext() {}
+
+RecoveryManagerImpl&
+RecoveryAsyncContext::getRecoveryManager() const {
+ return m_rm;
+}
+
+
+AsyncResultQueue*
+RecoveryAsyncContext::getAsyncResultQueue() const {
+ return m_arq;
+}
+
+void
+RecoveryAsyncContext::invokeCallback(const AsyncResultHandle* const arh) const {
+ if (m_rcb) {
+ m_rcb(arh);
+ }
+}
+
+}} // namespace qpid::broker
Added: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.h?rev=1389378&view=auto
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.h (added)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryAsyncContext.h Mon Sep 24 13:49:13 2012
@@ -0,0 +1,54 @@
+/*
+ * 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 RecoveryAsyncContext.h
+ */
+
+#ifndef qpid_broker_RecoveryAsyncContext_h_
+#define qpid_broker_RecoveryAsyncContext_h_
+
+#include "qpid/broker/AsyncStore.h"
+
+namespace qpid {
+namespace broker {
+class AsyncResultHandle;
+class RecoveryManagerImpl;
+
+typedef void (*AsyncResultCallback)(const AsyncResultHandle* const);
+
+class RecoveryAsyncContext: public qpid::broker::BrokerAsyncContext {
+public:
+ RecoveryAsyncContext(RecoveryManagerImpl& rm,
+ AsyncResultCallback rcb,
+ AsyncResultQueue* const arq);
+ virtual ~RecoveryAsyncContext();
+ RecoveryManagerImpl& getRecoveryManager() const;
+ AsyncResultQueue* getAsyncResultQueue() const;
+ void invokeCallback(const AsyncResultHandle* const) const;
+
+private:
+ RecoveryManagerImpl& m_rm;
+ AsyncResultCallback m_rcb;
+ AsyncResultQueue* const m_arq;
+};
+
+}} // namespace qpid::broker
+
+#endif // qpid_broker_RecoveryAsyncContext_h_
Added: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.cpp?rev=1389378&view=auto
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.cpp (added)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.cpp Mon Sep 24 13:49:13 2012
@@ -0,0 +1,55 @@
+/*
+ * 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 RecoveryHandle.cpp
+ */
+
+#include "RecoveryHandle.h"
+
+#include "qpid/asyncStore/RecoveryHandleImpl.h"
+#include "qpid/broker/PrivateImplRef.h"
+
+namespace qpid {
+namespace broker {
+
+typedef PrivateImplRef<RecoveryHandle> PrivateImpl;
+
+RecoveryHandle::RecoveryHandle(qpid::asyncStore::RecoveryHandleImpl* p) :
+ Handle<qpid::asyncStore::RecoveryHandleImpl>()
+{
+ PrivateImpl::ctor(*this, p);
+}
+
+RecoveryHandle::RecoveryHandle(const RecoveryHandle& r) :
+ Handle<qpid::asyncStore::RecoveryHandleImpl>()
+{
+ PrivateImpl::copy(*this, r);
+}
+
+RecoveryHandle::~RecoveryHandle() {
+ PrivateImpl::dtor(*this);
+}
+
+RecoveryHandle&
+RecoveryHandle::operator=(const RecoveryHandle& r) {
+ return PrivateImpl::assign(*this, r);
+}
+
+}} // namespace qpid */
Added: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.h?rev=1389378&view=auto
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.h (added)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryHandle.h Mon Sep 24 13:49:13 2012
@@ -0,0 +1,54 @@
+/*
+ * 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 RecoveryHandle.h
+ */
+
+#ifndef qpid_broker_RecoveryHandle_h_
+#define qpid_broker_RecoveryHandle_h_
+
+#include "qpid/asyncStore/AsyncStoreHandle.h"
+#include "qpid/broker/Handle.h"
+
+namespace qpid {
+namespace asyncStore {
+class RecoveryHandleImpl;
+}
+namespace broker {
+
+class RecoveryHandle: public qpid::broker::Handle<qpid::asyncStore::RecoveryHandleImpl>,
+ public qpid::asyncStore::AsyncStoreHandle
+{
+public:
+ RecoveryHandle(qpid::asyncStore::RecoveryHandleImpl* p = 0);
+ RecoveryHandle(const RecoveryHandle& r);
+ virtual ~RecoveryHandle();
+ RecoveryHandle& operator=(const RecoveryHandle& r);
+
+ // --- RecoveryHandleImpl methods ---
+ // <none>
+
+private:
+ friend class PrivateImplRef<RecoveryHandle>;
+};
+
+}} // namespace qpid::broker
+
+#endif // qpid_broker_RecoveryHandle_h_
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryManager.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryManager.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryManager.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/RecoveryManager.h Mon Sep 24 13:49:13 2012
@@ -45,15 +45,18 @@ class RecoveryManager{
virtual void recoveryComplete() = 0;
};
+// kpvdr: this has been replaced with AsyncRecoverable defined in AsyncStore.h
+/*
class Recoverable {
public:
virtual ~Recoverable() {}
- /**
+ *
* Request recovery of queue and message state.
- */
+
virtual void recover(RecoveryManager& recoverer) = 0;
};
+*/
}}
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.cpp Mon Sep 24 13:49:13 2012
@@ -155,7 +155,8 @@ void SemanticState::startTx()
txBuffer = TxBuffer::shared_ptr(new TxBuffer());
}
-void SemanticState::commit(MessageStore* const store)
+//void SemanticState::commit(MessageStore* const store)
+void SemanticState::commit(AsyncStore* const store)
{
if (!txBuffer) throw
CommandInvalidException(QPID_MSG("Session has not been selected for use with transactions"));
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/SemanticState.h Mon Sep 24 13:49:13 2012
@@ -55,7 +55,8 @@ namespace qpid {
namespace broker {
class Exchange;
-class MessageStore;
+//class MessageStore;
+class AsyncStore;
class SessionContext;
class SessionState;
@@ -233,7 +234,8 @@ class SemanticState : private boost::non
void stop(const std::string& destination);
void startTx();
- void commit(MessageStore* const store);
+// void commit(MessageStore* const store);
+ void commit(AsyncStore* const store);
void rollback();
void selectDtx();
bool getDtxSelected() const { return dtxSelected; }
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/SessionAdapter.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/SessionAdapter.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/SessionAdapter.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/SessionAdapter.cpp Mon Sep 24 13:49:13 2012
@@ -655,7 +655,9 @@ XaResult SessionAdapter::DtxHandlerImpl:
DtxRecoverResult SessionAdapter::DtxHandlerImpl::recover()
{
std::set<std::string> xids;
- getBroker().getStore().collectPreparedXids(xids);
+// getBroker().getStore().collectPreparedXids(xids);
+ // TODO: kpvdr: When designing async store with gsim, it was decided that this function
+ // would be performed outside the store. Resolve this function.
/*
* create array of long structs
*/
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.cpp Mon Sep 24 13:49:13 2012
@@ -337,4 +337,11 @@ TopicExchange::~TopicExchange() {}
const std::string TopicExchange::typeName("topic");
+// DataSource interface - used to write persistence data to async store
+// TODO: kpvdr: implement
+uint64_t TopicExchange::getSize() {
+ return 0;
+}
+void TopicExchange::write(char* /*target*/) {}
+
}} // namespace qpid::broker
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/TopicExchange.h Mon Sep 24 13:49:13 2012
@@ -109,6 +109,11 @@ public:
QPID_BROKER_EXTERN virtual ~TopicExchange();
virtual bool supportsDynamicBinding() { return true; }
+ // DataSource interface - used to write persistence data to async store
+ uint64_t getSize();
+ void write(char* target);
+
+
class TopicExchangeTester;
friend class TopicExchangeTester;
};
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.cpp Mon Sep 24 13:49:13 2012
@@ -53,20 +53,22 @@ void TxBuffer::enlist(TxOp::shared_ptr o
ops.push_back(op);
}
-bool TxBuffer::commitLocal(TransactionalStore* const store)
+//bool TxBuffer::commitLocal(TransactionalStore* const store)
+bool TxBuffer::commitLocal(AsyncTransactionalStore* const asyncTxnStore)
{
- if (!store) return false;
+ if (!asyncTxnStore) return false;
try {
- std::auto_ptr<TransactionContext> ctxt = store->begin();
- if (prepare(ctxt.get())) {
- store->commit(*ctxt);
- commit();
- return true;
- } else {
- store->abort(*ctxt);
- rollback();
- return false;
- }
+// std::auto_ptr<TransactionContext> ctxt = asyncTxnStore->begin();
+// if (prepare(ctxt.get())) {
+// asyncTxnStore->commit(*ctxt);
+// commit();
+// return true;
+// } else {
+// asyncTxnStore->abort(*ctxt);
+// rollback();
+// return false;
+// }
+ // TODO: kpvdr: add async local transaction commits here
} catch (std::exception& e) {
QPID_LOG(error, "Commit failed with exception: " << e.what());
} catch (...) {
Modified: qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/broker/TxBuffer.h Mon Sep 24 13:49:13 2012
@@ -59,6 +59,8 @@
*/
namespace qpid {
namespace broker {
+ class AsyncTransactionalStore;
+
class TxBuffer{
typedef std::vector<TxOp::shared_ptr>::iterator op_iterator;
std::vector<TxOp::shared_ptr> ops;
@@ -107,7 +109,8 @@ namespace qpid {
* Helper method for managing the process of server local
* commit
*/
- QPID_BROKER_EXTERN bool commitLocal(TransactionalStore* const store);
+// QPID_BROKER_EXTERN bool commitLocal(TransactionalStore* const store);
+ QPID_BROKER_EXTERN bool commitLocal(AsyncTransactionalStore* const store);
};
}
}
Modified: qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.cpp Mon Sep 24 13:49:13 2012
@@ -620,6 +620,10 @@ bool BrokerReplicator::bind(boost::share
bool BrokerReplicator::unbind(boost::shared_ptr<Queue>, const string&, const framing::FieldTable*) { return false; }
bool BrokerReplicator::isBound(boost::shared_ptr<Queue>, const string* const, const framing::FieldTable* const) { return false; }
+// DataSource interface - used to write persistence data to async store
+uint64_t BrokerReplicator::getSize() { return 0; }
+void BrokerReplicator::write(char* /*target*/) {}
+
string BrokerReplicator::getType() const { return QPID_CONFIGURATION_REPLICATOR; }
}} // namespace broker
Modified: qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/ha/BrokerReplicator.h Mon Sep 24 13:49:13 2012
@@ -76,6 +76,10 @@ class BrokerReplicator : public broker::
void route(broker::Deliverable&);
bool isBound(boost::shared_ptr<broker::Queue>, const std::string* const, const framing::FieldTable* const);
+ // DataSource interface - used to write persistence data to async store
+ uint64_t getSize();
+ void write(char* target);
+
private:
typedef boost::shared_ptr<QueueReplicator> QueueReplicatorPtr;
Modified: qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.cpp Mon Sep 24 13:49:13 2012
@@ -195,4 +195,8 @@ bool QueueReplicator::unbind(boost::shar
bool QueueReplicator::isBound(boost::shared_ptr<Queue>, const std::string* const, const FieldTable* const) { return false; }
std::string QueueReplicator::getType() const { return TYPE_NAME; }
+// DataSource interface - used to write persistence data to async store
+uint64_t QueueReplicator::getSize() { return 0; }
+void QueueReplicator::write(char* /*target*/) {}
+
}} // namespace qpid::broker
Modified: qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/ha/QueueReplicator.h Mon Sep 24 13:49:13 2012
@@ -77,6 +77,10 @@ class QueueReplicator : public broker::E
void route(broker::Deliverable&);
bool isBound(boost::shared_ptr<broker::Queue>, const std::string* const, const framing::FieldTable* const);
+ // DataSource interface - used to write persistence data to async store
+ uint64_t getSize();
+ void write(char* target);
+
private:
void initializeBridge(broker::Bridge& bridge, broker::SessionHandler& sessionHandler);
void dequeue(framing::SequenceNumber, sys::Mutex::ScopedLock&);
Modified: qpid/branches/asyncstore/cpp/src/qpid/management/ManagementDirectExchange.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/management/ManagementDirectExchange.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/management/ManagementDirectExchange.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/management/ManagementDirectExchange.h Mon Sep 24 13:49:13 2012
@@ -48,6 +48,10 @@ class ManagementDirectExchange : public
void setManagmentAgent(management::ManagementAgent* agent, int qmfVersion);
virtual ~ManagementDirectExchange();
+
+ // DataSource interface - used to write persistence data to async store
+ uint64_t getSize() { return 0; }
+ void write(char* /*target*/) {}
};
Modified: qpid/branches/asyncstore/cpp/src/qpid/management/ManagementTopicExchange.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/management/ManagementTopicExchange.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/management/ManagementTopicExchange.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/management/ManagementTopicExchange.h Mon Sep 24 13:49:13 2012
@@ -52,6 +52,11 @@ class ManagementTopicExchange : public v
void setManagmentAgent(management::ManagementAgent* agent, int qmfVersion);
virtual ~ManagementTopicExchange();
+
+ // DataSource interface - used to write persistence data to async store
+ uint64_t getSize() { return 0; }
+ void write(char* /*target*/) {}
+
};
Modified: qpid/branches/asyncstore/cpp/src/qpid/store/MessageStorePlugin.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/store/MessageStorePlugin.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/store/MessageStorePlugin.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/store/MessageStorePlugin.cpp Mon Sep 24 13:49:13 2012
@@ -101,7 +101,8 @@ MessageStorePlugin::earlyInitialize (qpi
provider->second->activate(*this);
NoopDeleter d;
boost::shared_ptr<qpid::broker::MessageStore> sp(this, d);
- broker->setStore(sp);
+// broker->setStore(sp);
+ // TODO: kpvdr: Windows store earlyInitialize()
target.addFinalizer(boost::bind(&MessageStorePlugin::finalizeMe, this));
}
Modified: qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.cpp Mon Sep 24 13:49:13 2012
@@ -430,6 +430,11 @@ bool XmlExchange::MatchQueueAndOrigin::o
const std::string XmlExchange::typeName("xml");
-
+
+
+// DataSource interface - used to write persistence data to async store
+uint64_t XmlExchange::getSize() { return 0; }
+void XmlExchange::write(char* /*target*/) {}
+
}
}
Modified: qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.h
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.h?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.h (original)
+++ qpid/branches/asyncstore/cpp/src/qpid/xml/XmlExchange.h Mon Sep 24 13:49:13 2012
@@ -94,6 +94,10 @@ class XmlExchange : public virtual Excha
virtual ~XmlExchange();
+ // DataSource interface - used to write persistence data to async store
+ uint64_t getSize();
+ void write(char* target);
+
struct MatchOrigin {
const std::string origin;
MatchOrigin(const std::string& origin);
Modified: qpid/branches/asyncstore/cpp/src/tests/AsyncCompletion.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/tests/AsyncCompletion.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/tests/AsyncCompletion.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/tests/AsyncCompletion.cpp Mon Sep 24 13:49:13 2012
@@ -16,33 +16,34 @@
*
*/
+// TODO: kpvdr: Rewrite this test in terms of an Null AsyncStore
-#include "unit_test.h"
-#include "test_tools.h"
-#include "BrokerFixture.h"
-#include "qpid/broker/NullMessageStore.h"
-#include "qpid/sys/BlockingQueue.h"
-#include "qpid/client/AsyncSession.h"
-#include "qpid/sys/Time.h"
-#include "qpid/framing/QueueQueryResult.h"
-#include "qpid/client/TypedResult.h"
-
-using namespace std;
-using namespace qpid;
-using namespace client;
-using namespace framing;
-
-namespace qpid { namespace broker {
-class TransactionContext;
-class PersistableQueue;
-}}
-
-using broker::PersistableMessage;
-using broker::NullMessageStore;
-using broker::TransactionContext;
-using broker::PersistableQueue;
-using sys::TIME_SEC;
-using boost::intrusive_ptr;
+//#include "unit_test.h"
+//#include "test_tools.h"
+//#include "BrokerFixture.h"
+//#include "qpid/broker/NullMessageStore.h"
+//#include "qpid/sys/BlockingQueue.h"
+//#include "qpid/client/AsyncSession.h"
+//#include "qpid/sys/Time.h"
+//#include "qpid/framing/QueueQueryResult.h"
+//#include "qpid/client/TypedResult.h"
+//
+//using namespace std;
+//using namespace qpid;
+//using namespace client;
+//using namespace framing;
+//
+//namespace qpid { namespace broker {
+//class TransactionContext;
+//class PersistableQueue;
+//}}
+//
+//using broker::PersistableMessage;
+//using broker::NullMessageStore;
+//using broker::TransactionContext;
+//using broker::PersistableQueue;
+//using sys::TIME_SEC;
+//using boost::intrusive_ptr;
/** @file Unit tests for async completion.
* Using a dummy store, verify that the broker indicates async completion of
@@ -52,6 +53,7 @@ using boost::intrusive_ptr;
namespace qpid {
namespace tests {
+/*
class AsyncCompletionMessageStore : public NullMessageStore {
public:
sys::BlockingQueue<boost::intrusive_ptr<PersistableMessage> > enqueued;
@@ -72,8 +74,10 @@ QPID_AUTO_TEST_SUITE(AsyncCompletionTest
QPID_AUTO_TEST_CASE(testWaitTillComplete) {
SessionFixture fix;
AsyncCompletionMessageStore* store = new AsyncCompletionMessageStore;
- boost::shared_ptr<qpid::broker::MessageStore> p;
- p.reset(store);
+// boost::shared_ptr<qpid::broker::MessageStore> p;
+ boost::shared_ptr<qpid::broker::AsyncStore> p;
+// p.reset(store);
+ // TODO: kpvdr: Rewrite this test to use AsyncStore
fix.broker->setStore(p);
AsyncSession s = fix.session;
@@ -116,5 +120,6 @@ QPID_AUTO_TEST_CASE(testGetResult) {
}
QPID_AUTO_TEST_SUITE_END()
+*/
}} // namespace qpid::tests
Modified: qpid/branches/asyncstore/cpp/src/tests/DtxWorkRecordTest.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/tests/DtxWorkRecordTest.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/tests/DtxWorkRecordTest.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/tests/DtxWorkRecordTest.cpp Mon Sep 24 13:49:13 2012
@@ -32,6 +32,7 @@ namespace tests {
QPID_AUTO_TEST_SUITE(DtxWorkRecordTestSuite)
+/*
QPID_AUTO_TEST_CASE(testOnePhaseCommit){
MockTransactionalStore store;
store.expectBegin().expectCommit();
@@ -187,6 +188,8 @@ QPID_AUTO_TEST_CASE(testRollback){
opA->check();
opB->check();
}
+*/
+// TODO: kpvdr: Rewrite this test (and TxMocks.h) to use Async store
QPID_AUTO_TEST_SUITE_END()
Modified: qpid/branches/asyncstore/cpp/src/tests/QueueTest.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/tests/QueueTest.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/tests/QueueTest.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/tests/QueueTest.cpp Mon Sep 24 13:49:13 2012
@@ -29,7 +29,7 @@
#include "qpid/broker/Deliverable.h"
#include "qpid/broker/ExchangeRegistry.h"
#include "qpid/broker/QueueRegistry.h"
-#include "qpid/broker/NullMessageStore.h"
+//#include "qpid/broker/NullMessageStore.h"
#include "qpid/broker/ExpiryPolicy.h"
#include "qpid/framing/DeliveryProperties.h"
#include "qpid/framing/FieldTable.h"
Modified: qpid/branches/asyncstore/cpp/src/tests/TxBufferTest.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/tests/TxBufferTest.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/tests/TxBufferTest.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/tests/TxBufferTest.cpp Mon Sep 24 13:49:13 2012
@@ -32,6 +32,7 @@ namespace tests {
QPID_AUTO_TEST_SUITE(TxBufferTestSuite)
+/*
QPID_AUTO_TEST_CASE(testCommitLocal)
{
MockTransactionalStore store;
@@ -175,6 +176,8 @@ QPID_AUTO_TEST_CASE(testBufferIsClearedA
opA->check();
opB->check();
}
+*/
+// TODO: kpvdr: Rewrite this test (and TxMocks.h) to use Async store
QPID_AUTO_TEST_SUITE_END()
Modified: qpid/branches/asyncstore/cpp/src/tests/test_store.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/asyncstore/cpp/src/tests/test_store.cpp?rev=1389378&r1=1389377&r2=1389378&view=diff
==============================================================================
--- qpid/branches/asyncstore/cpp/src/tests/test_store.cpp (original)
+++ qpid/branches/asyncstore/cpp/src/tests/test_store.cpp Mon Sep 24 13:49:13 2012
@@ -19,7 +19,7 @@
*
*/
-
+// TODO: kpvdr: Rewrite this test in terms of an Null AsyncStore
/**@file
* Plug-in message store for tests.
*
@@ -32,26 +32,26 @@
* - do async completion after a delay.
*/
-#include "qpid/broker/NullMessageStore.h"
-#include "qpid/broker/Broker.h"
-#include "qpid/broker/amqp_0_10/MessageTransfer.h"
-#include "qpid/framing/AMQFrame.h"
-#include "qpid/log/Statement.h"
-#include "qpid/Plugin.h"
-#include "qpid/Options.h"
-#include <boost/cast.hpp>
-#include <boost/lexical_cast.hpp>
-#include <memory>
-#include <fstream>
-
-using namespace qpid;
-using namespace broker;
-using namespace std;
-using namespace qpid::sys;
+//#include "qpid/broker/NullMessageStore.h"
+//#include "qpid/broker/Broker.h"
+//#include "qpid/broker/amqp_0_10/MessageTransfer.h"
+//#include "qpid/framing/AMQFrame.h"
+//#include "qpid/log/Statement.h"
+//#include "qpid/Plugin.h"
+//#include "qpid/Options.h"
+//#include <boost/cast.hpp>
+//#include <boost/lexical_cast.hpp>
+//#include <memory>
+//#include <fstream>
+//
+//using namespace qpid;
+//using namespace broker;
+//using namespace std;
+//using namespace qpid::sys;
namespace qpid {
namespace tests {
-
+/*
struct TestStoreOptions : public Options {
string name;
@@ -76,6 +76,7 @@ struct Completer : public Runnable {
}
};
+
class TestStore : public NullMessageStore {
public:
TestStore(const TestStoreOptions& opts, Broker& broker_)
@@ -157,6 +158,7 @@ const string TestStore::EXCEPTION = "exc
const string TestStore::EXIT_PROCESS = "exit_process";
const string TestStore::ASYNC="async ";
+
struct TestStorePlugin : public Plugin {
TestStoreOptions options;
@@ -168,12 +170,13 @@ struct TestStorePlugin : public Plugin {
Broker* broker = dynamic_cast<Broker*>(&target);
if (!broker) return;
boost::shared_ptr<MessageStore> p(new TestStore(options, *broker));
- broker->setStore (p);
+// broker->setStore (p);
+ // TODO: kpvdr: This test will need to be reworked in terms of an AsyncStore.
}
void initialize(qpid::Plugin::Target&) {}
};
static TestStorePlugin pluginInstance;
-
+*/
}} // namespace qpid::tests
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org