diff options
author | Carl C. Trieloff <cctrieloff@apache.org> | 2007-11-08 18:46:53 +0000 |
---|---|---|
committer | Carl C. Trieloff <cctrieloff@apache.org> | 2007-11-08 18:46:53 +0000 |
commit | d9ba9eae91290581b62f67239300897a96827e83 (patch) | |
tree | 67ea6a18828a42cafea5fce43b36b8b5f7c5becf /cpp/src/qpid/broker/Queue.cpp | |
parent | 10a794c9d2fede2a0db9cf80e95f19d56e931196 (diff) | |
download | qpid-python-d9ba9eae91290581b62f67239300897a96827e83.tar.gz |
- enable the ability to lazy load from async store
- the ci has a raw ptr for Queue in QueuedMessage, if any has
any concerns, ping me and I will convert it to an auto_ptr
Carl.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593251 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.cpp')
-rw-r--r-- | cpp/src/qpid/broker/Queue.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp index 1484fe464e..5745c85331 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -212,7 +212,7 @@ bool Queue::getNextMessage(QueuedMessage& msg) void Queue::dispatch() { - QueuedMessage msg; + QueuedMessage msg(this); while (getNextMessage(msg) && msg.payload->isEnqueueComplete()){ if (dispatch(msg)) { pop(); @@ -242,7 +242,7 @@ void Queue::serviceAllBrowsers() void Queue::serviceBrowser(Consumer::ptr browser) { - QueuedMessage msg; + QueuedMessage msg(this); while (seek(msg, browser->position) && browser->deliver(msg)) { browser->position = msg.position; } @@ -318,7 +318,7 @@ void Queue::cancel(Consumer::ptr c, Consumers& consumers) QueuedMessage Queue::dequeue(){ Mutex::ScopedLock locker(messageLock); - QueuedMessage msg; + QueuedMessage msg(this); if(!messages.empty()){ msg = messages.front(); @@ -350,7 +350,7 @@ void Queue::pop(){ void Queue::push(Message::shared_ptr& msg){ Mutex::ScopedLock locker(messageLock); - messages.push_back(QueuedMessage(msg, ++sequence)); + messages.push_back(QueuedMessage(this, msg, ++sequence)); if (policy.get()) { policy->enqueued(msg->contentSize()); if (policy->limitExceeded()) { |