diff options
author | Kenneth Anthony Giusti <kgiusti@apache.org> | 2011-09-06 22:09:28 +0000 |
---|---|---|
committer | Kenneth Anthony Giusti <kgiusti@apache.org> | 2011-09-06 22:09:28 +0000 |
commit | d394ed70098af4bd8dc7a2012470387d85a305ed (patch) | |
tree | a57e84537d1299d58bc4527b39285e1c84607237 | |
parent | e2ef6ad2cc37796d4a923891cd105f8b084d9f96 (diff) | |
download | qpid-python-d394ed70098af4bd8dc7a2012470387d85a305ed.tar.gz |
QPID-3346: pass consumer by reference when possible (perf).
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/qpid-3346@1165901 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qpid/broker/Queue.cpp | 14 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/broker/Queue.h | 6 |
2 files changed, 10 insertions, 10 deletions
diff --git a/qpid/cpp/src/qpid/broker/Queue.cpp b/qpid/cpp/src/qpid/broker/Queue.cpp index 883d149910..12ecfa882e 100644 --- a/qpid/cpp/src/qpid/broker/Queue.cpp +++ b/qpid/cpp/src/qpid/broker/Queue.cpp @@ -108,7 +108,7 @@ class MessageAllocator * @param next set to the next message that the consumer may acquire. * @return true if message is available */ - virtual bool nextConsumableMessage( Consumer::shared_ptr, QueuedMessage& next, + virtual bool nextConsumableMessage( Consumer::shared_ptr&, QueuedMessage& next, const Mutex::ScopedLock&) { Messages& messages(queue->getMessages()); @@ -122,7 +122,7 @@ class MessageAllocator * @param next set to the next message that the consumer may browse. * @return true if a message is available */ - virtual bool nextBrowsableMessage( Consumer::shared_ptr c, QueuedMessage& next, + virtual bool nextBrowsableMessage( Consumer::shared_ptr& c, QueuedMessage& next, const Mutex::ScopedLock&) { Messages& messages(queue->getMessages()); @@ -216,7 +216,7 @@ class MessageGroupManager : public QueueObserver, public MessageAllocator void dequeued( const QueuedMessage& qm ); void consumerAdded( const Consumer& ); void consumerRemoved( const Consumer& ); - bool nextConsumableMessage( Consumer::shared_ptr c, QueuedMessage& next, + bool nextConsumableMessage( Consumer::shared_ptr& c, QueuedMessage& next, const Mutex::ScopedLock&); // uses default nextBrowsableMessage() bool acquireMessage(const std::string& consumer, const QueuedMessage& msg, @@ -427,7 +427,7 @@ void Queue::notifyListener() set.notify(); } -bool Queue::getNextMessage(QueuedMessage& m, Consumer::shared_ptr c) +bool Queue::getNextMessage(QueuedMessage& m, Consumer::shared_ptr& c) { checkNotDeleted(); if (c->preAcquires()) { @@ -445,7 +445,7 @@ bool Queue::getNextMessage(QueuedMessage& m, Consumer::shared_ptr c) } } -Queue::ConsumeCode Queue::consumeNextMessage(QueuedMessage& m, Consumer::shared_ptr c) +Queue::ConsumeCode Queue::consumeNextMessage(QueuedMessage& m, Consumer::shared_ptr& c) { while (true) { @@ -492,7 +492,7 @@ Queue::ConsumeCode Queue::consumeNextMessage(QueuedMessage& m, Consumer::shared_ } } -bool Queue::browseNextMessage(QueuedMessage& m, Consumer::shared_ptr c) +bool Queue::browseNextMessage(QueuedMessage& m, Consumer::shared_ptr& c) { while (true) { Mutex::ScopedLock locker(messageLock); @@ -1733,7 +1733,7 @@ void MessageGroupManager::consumerRemoved( const Consumer& c ) } -bool MessageGroupManager::nextConsumableMessage( Consumer::shared_ptr c, QueuedMessage& next, +bool MessageGroupManager::nextConsumableMessage( Consumer::shared_ptr& c, QueuedMessage& next, const Mutex::ScopedLock& ) { Messages& messages(queue->getMessages()); diff --git a/qpid/cpp/src/qpid/broker/Queue.h b/qpid/cpp/src/qpid/broker/Queue.h index 475da15577..25d0f26a75 100644 --- a/qpid/cpp/src/qpid/broker/Queue.h +++ b/qpid/cpp/src/qpid/broker/Queue.h @@ -133,9 +133,9 @@ class Queue : public boost::enable_shared_from_this<Queue>, void push(boost::intrusive_ptr<Message>& msg, bool isRecovery=false); void setPolicy(std::auto_ptr<QueuePolicy> policy); - bool getNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); - ConsumeCode consumeNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); - bool browseNextMessage(QueuedMessage& msg, Consumer::shared_ptr c); + bool getNextMessage(QueuedMessage& msg, Consumer::shared_ptr& c); + ConsumeCode consumeNextMessage(QueuedMessage& msg, Consumer::shared_ptr& c); + bool browseNextMessage(QueuedMessage& msg, Consumer::shared_ptr& c); void notifyListener(); void removeListener(Consumer::shared_ptr); |