From a2917ca1aabd64e4f6e1667b8e52145d9752d0e0 Mon Sep 17 00:00:00 2001 From: Alan Conway Date: Wed, 26 Nov 2008 21:13:05 +0000 Subject: Was causing cluster failures. QPID-1488 Mick Goulish: QueuePolicy serialization fix for cluster braindump. git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@720979 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/QueuePolicy.cpp | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) (limited to 'cpp/src/qpid/broker/QueuePolicy.cpp') diff --git a/cpp/src/qpid/broker/QueuePolicy.cpp b/cpp/src/qpid/broker/QueuePolicy.cpp index c967823ecc..5c945d2c7f 100644 --- a/cpp/src/qpid/broker/QueuePolicy.cpp +++ b/cpp/src/qpid/broker/QueuePolicy.cpp @@ -121,6 +121,36 @@ void QueuePolicy::setDefaultMaxSize(uint64_t s) defaultMaxSize = s; } + + + + +void QueuePolicy::encode(Buffer& buffer) const +{ + buffer.putLong(maxCount); + buffer.putLongLong(maxSize); + buffer.putLong(count.get()); + buffer.putLongLong(size.get()); +} + +void QueuePolicy::decode ( Buffer& buffer ) +{ + maxCount = buffer.getLong(); + maxSize = buffer.getLongLong(); + count = buffer.getLong(); + size = buffer.getLongLong(); +} + + +uint32_t QueuePolicy::encodedSize() const { + return sizeof(uint32_t) + // maxCount + sizeof(uint64_t) + // maxSize + sizeof(uint32_t) + // count + sizeof(uint64_t); // size +} + + + const std::string QueuePolicy::maxCountKey("qpid.max_count"); const std::string QueuePolicy::maxSizeKey("qpid.max_size"); const std::string QueuePolicy::typeKey("qpid.policy_type"); @@ -231,8 +261,7 @@ std::auto_ptr QueuePolicy::createQueuePolicy(uint32_t maxCount, uin } } - - + namespace qpid { namespace broker { -- cgit v1.2.1