summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/broker/PagedQueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/broker/PagedQueue.cpp')
-rw-r--r--qpid/cpp/src/qpid/broker/PagedQueue.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/PagedQueue.cpp b/qpid/cpp/src/qpid/broker/PagedQueue.cpp
index b5edfb89c0..b3b7f6a2d4 100644
--- a/qpid/cpp/src/qpid/broker/PagedQueue.cpp
+++ b/qpid/cpp/src/qpid/broker/PagedQueue.cpp
@@ -130,12 +130,17 @@ bool PagedQueue::deleted(const QueueCursor& cursor)
}
}
-void PagedQueue::publish(const Message& added)
+void PagedQueue::check(const Message& added)
{
if (encodedSize(added) > pageSize) {
QPID_LOG(error, "Message is larger than page size for queue " << name);
throw qpid::framing::PreconditionFailedException(QPID_MSG("Message is larger than page size for queue " << name));
}
+}
+
+void PagedQueue::publish(const Message& added)
+{
+ check(added);
Used::reverse_iterator i = used.rbegin();
if (i != used.rend()) {
if (!i->second.isLoaded()) load(i->second);