summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.h
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/qpid/broker/Queue.h
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/qpid/broker/Queue.h')
-rw-r--r--cpp/src/qpid/broker/Queue.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/cpp/src/qpid/broker/Queue.h b/cpp/src/qpid/broker/Queue.h
index 9eca31e4fc..9a7b893f36 100644
--- a/cpp/src/qpid/broker/Queue.h
+++ b/cpp/src/qpid/broker/Queue.h
@@ -99,7 +99,7 @@ namespace qpid {
management::Queue::shared_ptr mgmtObject;
void pop();
- void push(Message::shared_ptr& msg);
+ void push(intrusive_ptr<Message>& msg);
bool dispatch(QueuedMessage& msg);
void setPolicy(std::auto_ptr<QueuePolicy> policy);
/**
@@ -113,7 +113,7 @@ namespace qpid {
bool seek(QueuedMessage& msg, const framing::SequenceNumber& position);
uint32_t getAcquirerCount() const;
bool getNextMessage(QueuedMessage& msg);
- bool exclude(Message::shared_ptr msg);
+ bool exclude(intrusive_ptr<Message> msg);
public:
@@ -140,12 +140,12 @@ namespace qpid {
* Delivers a message to the queue. Will record it as
* enqueued if persistent then process it.
*/
- void deliver(Message::shared_ptr& msg);
+ void deliver(intrusive_ptr<Message>& msg);
/**
* Dispatches the messages immediately to a consumer if
* one is available or stores it for later if not.
*/
- void process(Message::shared_ptr& msg);
+ void process(intrusive_ptr<Message>& msg);
/**
* Returns a message to the in-memory queue (due to lack
* of acknowledegement from a receiver). If a consumer is
@@ -156,7 +156,7 @@ namespace qpid {
/**
* Used during recovery to add stored messages back to the queue
*/
- void recover(Message::shared_ptr& msg);
+ void recover(intrusive_ptr<Message>& msg);
/**
* Request dispatch any queued messages providing there are
* consumers for them. Only one thread can be dispatching
@@ -181,11 +181,11 @@ namespace qpid {
inline bool isAutoDelete() const { return autodelete; }
bool canAutoDelete() const;
- bool enqueue(TransactionContext* ctxt, Message::shared_ptr msg);
+ bool enqueue(TransactionContext* ctxt, intrusive_ptr<Message> msg);
/**
* dequeue from store (only done once messages is acknowledged)
*/
- bool dequeue(TransactionContext* ctxt, Message::shared_ptr msg);
+ bool dequeue(TransactionContext* ctxt, intrusive_ptr<Message> msg);
/**
* dequeues from memory only
*/