summaryrefslogtreecommitdiff
path: root/cpp/src/tests/QueueTest.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-11-14 21:02:14 +0000
committerAlan Conway <aconway@apache.org>2007-11-14 21:02:14 +0000
commitb7c4bf711917dc5ae07fafea32d9d530d2383735 (patch)
treed187fc43d3d0a2153d1b8c2a5ab3e55261285e9d /cpp/src/tests/QueueTest.cpp
parent30e952c5e9e7084eb70633a543034fbc897a22b8 (diff)
downloadqpid-python-b7c4bf711917dc5ae07fafea32d9d530d2383735.tar.gz
Replaced shared_ptr with intrusive_ptr for qpid::Broker::Message.
Gives 9% reduction in broker heap use (perftest --count 100000.) git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@595056 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/tests/QueueTest.cpp')
-rw-r--r--cpp/src/tests/QueueTest.cpp26
1 files changed, 13 insertions, 13 deletions
diff --git a/cpp/src/tests/QueueTest.cpp b/cpp/src/tests/QueueTest.cpp
index 3235fe2418..2d84d23b6f 100644
--- a/cpp/src/tests/QueueTest.cpp
+++ b/cpp/src/tests/QueueTest.cpp
@@ -38,7 +38,7 @@ class TestConsumer : public virtual Consumer{
public:
typedef shared_ptr<TestConsumer> shared_ptr;
- Message::shared_ptr last;
+ intrusive_ptr<Message> last;
bool received;
TestConsumer(): received(false) {};
@@ -71,8 +71,8 @@ class QueueTest : public CppUnit::TestCase
public:
- Message::shared_ptr message(std::string exchange, std::string routingKey) {
- Message::shared_ptr msg(new Message());
+ intrusive_ptr<Message> message(std::string exchange, std::string routingKey) {
+ intrusive_ptr<Message> msg(new Message());
AMQFrame method(0, MessageTransferBody(ProtocolVersion(), 0, exchange, 0, 0));
AMQFrame header(0, AMQHeaderBody());
msg->getFrames().append(method);
@@ -85,14 +85,14 @@ class QueueTest : public CppUnit::TestCase
void testAsyncMessage(){
Queue::shared_ptr queue(new Queue("my_test_queue", true));
- Message::shared_ptr received;
+ intrusive_ptr<Message> received;
TestConsumer::shared_ptr c1(new TestConsumer());
queue->consume(c1);
//Test basic delivery:
- Message::shared_ptr msg1 = message("e", "A");
+ intrusive_ptr<Message> msg1 = message("e", "A");
msg1->enqueueAsync();//this is done on enqueue which is not called from process
queue->process(msg1);
sleep(2);
@@ -109,7 +109,7 @@ class QueueTest : public CppUnit::TestCase
void testAsyncMessageCount(){
Queue::shared_ptr queue(new Queue("my_test_queue", true));
- Message::shared_ptr msg1 = message("e", "A");
+ intrusive_ptr<Message> msg1 = message("e", "A");
msg1->enqueueAsync();//this is done on enqueue which is not called from process
queue->process(msg1);
@@ -134,9 +134,9 @@ class QueueTest : public CppUnit::TestCase
CPPUNIT_ASSERT_EQUAL(uint32_t(2), queue->getConsumerCount());
//Test basic delivery:
- Message::shared_ptr msg1 = message("e", "A");
- Message::shared_ptr msg2 = message("e", "B");
- Message::shared_ptr msg3 = message("e", "C");
+ intrusive_ptr<Message> msg1 = message("e", "A");
+ intrusive_ptr<Message> msg2 = message("e", "B");
+ intrusive_ptr<Message> msg3 = message("e", "C");
queue->deliver(msg1);
if (!c1->received)
@@ -183,10 +183,10 @@ class QueueTest : public CppUnit::TestCase
void testDequeue(){
Queue::shared_ptr queue(new Queue("my_queue", true));
- Message::shared_ptr msg1 = message("e", "A");
- Message::shared_ptr msg2 = message("e", "B");
- Message::shared_ptr msg3 = message("e", "C");
- Message::shared_ptr received;
+ intrusive_ptr<Message> msg1 = message("e", "A");
+ intrusive_ptr<Message> msg2 = message("e", "B");
+ intrusive_ptr<Message> msg3 = message("e", "C");
+ intrusive_ptr<Message> received;
queue->deliver(msg1);
queue->deliver(msg2);