summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Anthony Giusti <kgiusti@apache.org>2011-09-06 22:09:28 +0000
committerKenneth Anthony Giusti <kgiusti@apache.org>2011-09-06 22:09:28 +0000
commitd394ed70098af4bd8dc7a2012470387d85a305ed (patch)
treea57e84537d1299d58bc4527b39285e1c84607237
parente2ef6ad2cc37796d4a923891cd105f8b084d9f96 (diff)
downloadqpid-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.cpp14
-rw-r--r--qpid/cpp/src/qpid/broker/Queue.h6
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);