diff options
author | Alan Conway <aconway@apache.org> | 2007-11-14 21:02:14 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2007-11-14 21:02:14 +0000 |
commit | b7c4bf711917dc5ae07fafea32d9d530d2383735 (patch) | |
tree | d187fc43d3d0a2153d1b8c2a5ab3e55261285e9d /cpp/src/tests/QueueTest.cpp | |
parent | 30e952c5e9e7084eb70633a543034fbc897a22b8 (diff) | |
download | qpid-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.cpp | 26 |
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); |