summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2012-06-11 18:07:45 +0000
committerKim van der Riet <kpvdr@apache.org>2012-06-11 18:07:45 +0000
commit01174a9e568f11cd5aa4f22aaa914e00ab9fe163 (patch)
tree9ce51be9b6ddc0f648344d32a07f4b925eb75708
parentf9f2c6aae6514d0e279b95aaaf90195326738b66 (diff)
downloadqpid-python-01174a9e568f11cd5aa4f22aaa914e00ab9fe163.tar.gz
QPID-3858: WIP: Changed all boost::shared_ptr<SimplePersistableMessage> to boost_intrusive_ptr<SimplePersistableMessage> to better match broker message usage patterns.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1348950 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.cpp5
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.h7
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/MessageProducer.cpp2
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.cpp5
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.h8
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.cpp4
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.h8
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.cpp2
-rw-r--r--cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.h3
9 files changed, 24 insertions, 20 deletions
diff --git a/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.cpp b/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.cpp
index 8b14bff4f8..5e161d49c8 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.cpp
+++ b/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.cpp
@@ -22,6 +22,7 @@
*/
#include "MessageAsyncContext.h"
+#include "SimplePersistableMessage.h"
#include <cassert>
@@ -29,7 +30,7 @@ namespace tests {
namespace storePerftools {
namespace asyncPerf {
-MessageAsyncContext::MessageAsyncContext(boost::shared_ptr<SimplePersistableMessage> msg,
+MessageAsyncContext::MessageAsyncContext(boost::intrusive_ptr<SimplePersistableMessage> msg,
const qpid::asyncStore::AsyncOperation::opCode op,
boost::shared_ptr<SimplePersistableQueue> q) :
m_msg(msg),
@@ -55,7 +56,7 @@ MessageAsyncContext::getOpStr() const
return qpid::asyncStore::AsyncOperation::getOpStr(m_op);
}
-boost::shared_ptr<SimplePersistableMessage>
+boost::intrusive_ptr<SimplePersistableMessage>
MessageAsyncContext::getMessage() const
{
return m_msg;
diff --git a/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.h b/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.h
index 9d7958166e..f13cd4ab64 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.h
+++ b/cpp/src/tests/storePerftools/asyncPerf/MessageAsyncContext.h
@@ -27,6 +27,7 @@
#include "qpid/asyncStore/AsyncOperation.h"
#include "qpid/broker/AsyncStore.h" // qpid::broker::BrokerAsyncContext
+#include <boost/intrusive_ptr.hpp>
#include <boost/shared_ptr.hpp>
namespace tests {
@@ -39,18 +40,18 @@ class SimplePersistableQueue;
class MessageAsyncContext : public qpid::broker::BrokerAsyncContext
{
public:
- MessageAsyncContext(boost::shared_ptr<SimplePersistableMessage> msg,
+ MessageAsyncContext(boost::intrusive_ptr<SimplePersistableMessage> msg,
const qpid::asyncStore::AsyncOperation::opCode op,
boost::shared_ptr<SimplePersistableQueue> q);
virtual ~MessageAsyncContext();
qpid::asyncStore::AsyncOperation::opCode getOpCode() const;
const char* getOpStr() const;
- boost::shared_ptr<SimplePersistableMessage> getMessage() const;
+ boost::intrusive_ptr<SimplePersistableMessage> getMessage() const;
boost::shared_ptr<SimplePersistableQueue> getQueue() const;
void destroy();
private:
- boost::shared_ptr<SimplePersistableMessage> m_msg;
+ boost::intrusive_ptr<SimplePersistableMessage> m_msg;
const qpid::asyncStore::AsyncOperation::opCode m_op;
boost::shared_ptr<SimplePersistableQueue> m_q;
};
diff --git a/cpp/src/tests/storePerftools/asyncPerf/MessageProducer.cpp b/cpp/src/tests/storePerftools/asyncPerf/MessageProducer.cpp
index 5bb72da883..5530513e12 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/MessageProducer.cpp
+++ b/cpp/src/tests/storePerftools/asyncPerf/MessageProducer.cpp
@@ -52,7 +52,7 @@ void*
MessageProducer::runProducers()
{
for (uint32_t numMsgs=0; numMsgs<m_perfTestParams.m_numMsgs; ++numMsgs) {
- boost::shared_ptr<SimplePersistableMessage> msg(new SimplePersistableMessage(m_msgData, m_perfTestParams.m_msgSize, m_store));
+ boost::intrusive_ptr<SimplePersistableMessage> msg(new SimplePersistableMessage(m_msgData, m_perfTestParams.m_msgSize, m_store));
m_queue->deliver(msg);
}
return 0;
diff --git a/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.cpp b/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.cpp
index a389f86739..4836f9358a 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.cpp
+++ b/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.cpp
@@ -22,6 +22,7 @@
*/
#include "QueueAsyncContext.h"
+#include "SimplePersistableMessage.h"
#include <cassert>
@@ -42,7 +43,7 @@ QueueAsyncContext::QueueAsyncContext(boost::shared_ptr<SimplePersistableQueue> q
}
QueueAsyncContext::QueueAsyncContext(boost::shared_ptr<SimplePersistableQueue> q,
- boost::shared_ptr<SimplePersistableMessage> msg,
+ boost::intrusive_ptr<SimplePersistableMessage> msg,
const qpid::asyncStore::AsyncOperation::opCode op,
qpid::broker::AsyncResultCallback rcb,
qpid::broker::AsyncResultQueue* const arq) :
@@ -77,7 +78,7 @@ QueueAsyncContext::getQueue() const
return m_q;
}
-boost::shared_ptr<SimplePersistableMessage>
+boost::intrusive_ptr<SimplePersistableMessage>
QueueAsyncContext::getMessage() const
{
return m_msg;
diff --git a/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.h b/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.h
index 982aef3874..df45117fe4 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.h
+++ b/cpp/src/tests/storePerftools/asyncPerf/QueueAsyncContext.h
@@ -27,10 +27,10 @@
#include "qpid/asyncStore/AsyncOperation.h"
#include "qpid/broker/AsyncStore.h"
+#include <boost/intrusive_ptr.hpp>
#include <boost/shared_ptr.hpp>
-
namespace tests {
namespace storePerftools {
namespace asyncPerf {
@@ -46,7 +46,7 @@ public:
qpid::broker::AsyncResultCallback rcb,
qpid::broker::AsyncResultQueue* const arq);
QueueAsyncContext(boost::shared_ptr<SimplePersistableQueue> q,
- boost::shared_ptr<SimplePersistableMessage> msg,
+ boost::intrusive_ptr<SimplePersistableMessage> msg,
const qpid::asyncStore::AsyncOperation::opCode op,
qpid::broker::AsyncResultCallback rcb,
qpid::broker::AsyncResultQueue* const arq);
@@ -54,7 +54,7 @@ public:
qpid::asyncStore::AsyncOperation::opCode getOpCode() const;
const char* getOpStr() const;
boost::shared_ptr<SimplePersistableQueue> getQueue() const;
- boost::shared_ptr<SimplePersistableMessage> getMessage() const;
+ boost::intrusive_ptr<SimplePersistableMessage> getMessage() const;
qpid::broker::AsyncResultQueue* getAsyncResultQueue() const;
qpid::broker::AsyncResultCallback getAsyncResultCallback() const;
void invokeCallback(const qpid::broker::AsyncResultHandle* const arh) const;
@@ -62,7 +62,7 @@ public:
private:
boost::shared_ptr<SimplePersistableQueue> m_q;
- boost::shared_ptr<SimplePersistableMessage> m_msg;
+ boost::intrusive_ptr<SimplePersistableMessage> m_msg;
const qpid::asyncStore::AsyncOperation::opCode m_op;
qpid::broker::AsyncResultCallback m_rcb;
qpid::broker::AsyncResultQueue* const m_arq;
diff --git a/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.cpp b/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.cpp
index 8530051eec..dd4de355b3 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.cpp
+++ b/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.cpp
@@ -37,7 +37,7 @@ QueuedMessage::QueuedMessage() :
{}
QueuedMessage::QueuedMessage(SimplePersistableQueue* q,
- boost::shared_ptr<SimplePersistableMessage> msg) :
+ boost::intrusive_ptr<SimplePersistableMessage> msg) :
m_queue(q),
m_msg(msg),
m_enqHandle(q->getStore() ? q->getStore()->createEnqueueHandle(msg->getHandle(), q->getHandle()) : qpid::broker::EnqueueHandle(0))
@@ -61,7 +61,7 @@ QueuedMessage::operator=(const QueuedMessage& rhs)
return *this;
}
-boost::shared_ptr<SimplePersistableMessage>
+boost::intrusive_ptr<SimplePersistableMessage>
QueuedMessage::payload() const
{
return m_msg;
diff --git a/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.h b/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.h
index b1e8a7226a..29e7f792cd 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.h
+++ b/cpp/src/tests/storePerftools/asyncPerf/QueuedMessage.h
@@ -26,7 +26,7 @@
#include "qpid/broker/EnqueueHandle.h"
-#include <boost/shared_ptr.hpp>
+#include <boost/intrusive_ptr.hpp>
namespace tests {
namespace storePerftools {
@@ -40,17 +40,17 @@ class QueuedMessage
public:
QueuedMessage();
QueuedMessage(SimplePersistableQueue* q,
- boost::shared_ptr<SimplePersistableMessage> msg);
+ boost::intrusive_ptr<SimplePersistableMessage> msg);
QueuedMessage(const QueuedMessage& qm);
~QueuedMessage();
QueuedMessage& operator=(const QueuedMessage& rhs);
- boost::shared_ptr<SimplePersistableMessage> payload() const;
+ boost::intrusive_ptr<SimplePersistableMessage> payload() const;
const qpid::broker::EnqueueHandle& enqHandle() const;
qpid::broker::EnqueueHandle& enqHandle();
private:
SimplePersistableQueue* m_queue;
- boost::shared_ptr<SimplePersistableMessage> m_msg;
+ boost::intrusive_ptr<SimplePersistableMessage> m_msg;
qpid::broker::EnqueueHandle m_enqHandle;
};
diff --git a/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.cpp b/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.cpp
index 3d973e2957..b34357c144 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.cpp
+++ b/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.cpp
@@ -156,7 +156,7 @@ SimplePersistableQueue::asyncDestroy(const bool deleteQueue)
}
void
-SimplePersistableQueue::deliver(boost::shared_ptr<SimplePersistableMessage> msg)
+SimplePersistableQueue::deliver(boost::intrusive_ptr<SimplePersistableMessage> msg)
{
QueuedMessage qm(this, msg);
enqueue((SimpleTransactionContext*)0, qm);
diff --git a/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.h b/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.h
index 1366c7772b..3bc0972ede 100644
--- a/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.h
+++ b/cpp/src/tests/storePerftools/asyncPerf/SimplePersistableQueue.h
@@ -31,6 +31,7 @@
#include "qpid/broker/QueueHandle.h"
#include "qpid/sys/Monitor.h"
+#include <boost/intrusive_ptr.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/enable_shared_from_this.hpp>
@@ -75,7 +76,7 @@ public:
void asyncDestroy(const bool deleteQueue);
// --- Methods in msg handling path from qpid::Queue ---
- void deliver(boost::shared_ptr<SimplePersistableMessage> msg);
+ void deliver(boost::intrusive_ptr<SimplePersistableMessage> msg);
bool dispatch(); // similar to qpid::broker::Queue::distpatch(Consumer&) but without Consumer param
bool enqueue(SimpleTransactionContext* ctxt,
QueuedMessage& qm);