summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/MessageBuilder.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2008-11-27 12:21:04 +0000
committerGordon Sim <gsim@apache.org>2008-11-27 12:21:04 +0000
commit6b67c025160e2363052820b9f686bbf386d9c96a (patch)
treeca52122fc4ea53e6a93e2653f33c36f4a97d756a /cpp/src/qpid/broker/MessageBuilder.cpp
parentdf072598b37b31e9a7cf72818c9aa87b2ee21f70 (diff)
downloadqpid-python-6b67c025160e2363052820b9f686bbf386d9c96a.tar.gz
* QPID-1488: test that policy pointer is set
* don't flow to disk for null store implementation * add checks for undeflow in queue policy git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@721166 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/MessageBuilder.cpp')
-rw-r--r--cpp/src/qpid/broker/MessageBuilder.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/MessageBuilder.cpp b/cpp/src/qpid/broker/MessageBuilder.cpp
index eda71ed3da..8f0e3344d5 100644
--- a/cpp/src/qpid/broker/MessageBuilder.cpp
+++ b/cpp/src/qpid/broker/MessageBuilder.cpp
@@ -22,6 +22,7 @@
#include "Message.h"
#include "MessageStore.h"
+#include "NullMessageStore.h"
#include "qpid/framing/AMQFrame.h"
#include "qpid/framing/reply_exceptions.h"
@@ -72,7 +73,11 @@ void MessageBuilder::handle(AMQFrame& frame)
} else {
message->getFrames().append(frame);
//have we reached the staging limit? if so stage message and release content
- if (state == CONTENT && stagingThreshold && message->getFrames().getContentSize() >= stagingThreshold) {
+ if (state == CONTENT
+ && stagingThreshold
+ && message->getFrames().getContentSize() >= stagingThreshold
+ && !NullMessageStore::isNullStore(store))
+ {
message->releaseContent(store);
staging = true;
}