diff options
Diffstat (limited to 'qpid/cpp/src/qpid/broker/PagedQueue.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/broker/PagedQueue.cpp | 7 |
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); |