diff options
Diffstat (limited to 'cpp/src/qpid/broker/Exchange.cpp')
| -rw-r--r-- | cpp/src/qpid/broker/Exchange.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/cpp/src/qpid/broker/Exchange.cpp b/cpp/src/qpid/broker/Exchange.cpp index 243d089ccb..6a3fa88ff0 100644 --- a/cpp/src/qpid/broker/Exchange.cpp +++ b/cpp/src/qpid/broker/Exchange.cpp @@ -153,7 +153,7 @@ Exchange::shared_ptr Exchange::decode(ExchangeRegistry& exchanges, Buffer& buffe buffer.get(args); Exchange::shared_ptr exch = exchanges.declare(name, type, durable, args).first; - exch->sequenceNo = buffer.getInt64(); + exch->sequenceNo = args.getAsInt64("qpid.sequence_counter"); return exch; } @@ -162,8 +162,8 @@ void Exchange::encode(Buffer& buffer) const buffer.putShortString(name); buffer.putOctet(durable); buffer.putShortString(getType()); + if (sequenceNo) args.setInt64(std::string("qpid.sequence_counter"),sequenceNo); buffer.put(args); - buffer.putInt64(sequenceNo); } uint32_t Exchange::encodedSize() const @@ -171,8 +171,7 @@ uint32_t Exchange::encodedSize() const return name.size() + 1/*short string size*/ + 1 /*durable*/ + getType().size() + 1/*short string size*/ - + args.encodedSize() - + 8; /*int64 */ + + args.encodedSize(); } ManagementObject* Exchange::GetManagementObject (void) const |
