diff options
45 files changed, 102 insertions, 100 deletions
diff --git a/qpid/cpp/rubygen/framing.0-10/structs.rb b/qpid/cpp/rubygen/framing.0-10/structs.rb index 70b08a0da3..eb935d06b4 100644 --- a/qpid/cpp/rubygen/framing.0-10/structs.rb +++ b/qpid/cpp/rubygen/framing.0-10/structs.rb @@ -44,6 +44,12 @@ class StructGen < CppGen "timestamp"=>8 } + StringSizeMap={ + "LongString"=>4, + "MediumString"=>2, + "ShortString"=>1 + } + SizeType={ 1=>"Octet", 2=>"Short", @@ -171,13 +177,10 @@ class StructGen < CppGen genl "total += #{size};//#{f.cppname}" elsif (f.cpptype.name == "SequenceNumberSet") genl "total += #{f.cppname}.encodedSize();" - else - encoded = f.cpptype.encoded - gen "total += (" - gen "4 + " if encoded == "LongString" - gen "2 + " if encoded == "MediumString" - gen "1 + " if encoded == "ShortString" - genl "#{f.cppname}.size());" + elsif (size = StringSizeMap[f.cpptype.encoded]) + genl "total += #{size} + #{f.cppname}.size();" + else + genl "total += #{f.cppname}.encodedSize();" end end end @@ -442,7 +445,7 @@ EOS void decode(Buffer&, uint32_t=0); void encodeStructBody(Buffer&) const; void decodeStructBody(Buffer&, uint32_t=0); - uint32_t size() const; + uint32_t encodedSize() const; uint32_t bodySize() const; void print(std::ostream& out) const; }; /* class #{classname} */ @@ -546,8 +549,7 @@ EOS return total; } -uint32_t #{classname}::size() const -{ +uint32_t #{classname}::encodedSize() const { uint32_t total = bodySize(); EOS if (s.kind_of? AmqpStruct) diff --git a/qpid/cpp/src/qpid/SessionState.cpp b/qpid/cpp/src/qpid/SessionState.cpp index 61707002fb..4b92b4968f 100644 --- a/qpid/cpp/src/qpid/SessionState.cpp +++ b/qpid/cpp/src/qpid/SessionState.cpp @@ -61,7 +61,7 @@ void SessionPoint::advance(const AMQFrame& f) { if (f.isLastSegment() && f.isLastFrame()) ++command; // Single-frame command. else - offset += f.size(); + offset += f.encodedSize(); } else { // continuation frame for partial command if (offset == 0) @@ -77,7 +77,7 @@ void SessionPoint::advance(const AMQFrame& f) { // that the relationship of fragment offsets to the replay // list can be computed more easily. // - offset += f.size(); + offset += f.encodedSize(); } } } @@ -116,9 +116,9 @@ void SessionState::senderRecord(const AMQFrame& f) { QPID_LOG_IF(debug, f.getMethod(), getId() << ": sent cmd " << sender.sendPoint.command << ": " << *f.getMethod()); stateful = true; if (timeout) sender.replayList.push_back(f); - sender.unflushedSize += f.size(); - sender.bytesSinceKnownCompleted += f.size(); - sender.replaySize += f.size(); + sender.unflushedSize += f.encodedSize(); + sender.bytesSinceKnownCompleted += f.encodedSize(); + sender.replaySize += f.encodedSize(); sender.incomplete += sender.sendPoint.command; sender.sendPoint.advance(f); if (config.replayHardLimit && config.replayHardLimit < sender.replaySize) @@ -153,9 +153,9 @@ void SessionState::senderConfirmed(const SessionPoint& confirmed) { while (i != sender.replayList.end() && sender.replayPoint.command < confirmed.command) { sender.replayPoint.advance(*i); assert(sender.replayPoint <= sender.sendPoint); - sender.replaySize -= i->size(); + sender.replaySize -= i->encodedSize(); if (sender.replayPoint > sender.flushPoint) - sender.unflushedSize -= i->size(); + sender.unflushedSize -= i->encodedSize(); ++i; } if (sender.replayPoint > sender.flushPoint) @@ -186,7 +186,7 @@ bool SessionState::receiverRecord(const AMQFrame& f) { if (isControl(f)) return true; // Ignore control frames. stateful = true; receiver.expected.advance(f); - receiver.bytesSinceKnownCompleted += f.size(); + receiver.bytesSinceKnownCompleted += f.encodedSize(); bool firstTime = receiver.expected > receiver.received; if (firstTime) { receiver.received = receiver.expected; diff --git a/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp b/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp index 9b8b7d93c7..5241abed9b 100644 --- a/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp +++ b/qpid/cpp/src/qpid/amqp_0_10/Connection.cpp @@ -78,15 +78,15 @@ size_t Connection::encode(const char* buffer, size_t size) { QPID_LOG(trace, "SENT " << identifier << " INIT(" << pi << ")"); } size_t frameSize=0; - while (!frameQueue.empty() && ((frameSize=frameQueue.front().size()) <= out.available())) { + while (!frameQueue.empty() && ((frameSize=frameQueue.front().encodedSize()) <= out.available())) { frameQueue.front().encode(out); QPID_LOG(trace, "SENT [" << identifier << "]: " << frameQueue.front()); frameQueue.pop_front(); buffered -= frameSize; if (frameQueue.empty() && out.available() > 0) connection->doOutput(); } - assert(frameQueue.empty() || frameQueue.front().size() <= size); - if (!frameQueue.empty() && frameQueue.front().size() > size) + assert(frameQueue.empty() || frameQueue.front().encodedSize() <= size); + if (!frameQueue.empty() && frameQueue.front().encodedSize() > size) throw InternalErrorException(QPID_MSG("Could not write frame, too large for buffer.")); return out.getPosition(); } @@ -108,7 +108,7 @@ void Connection::send(framing::AMQFrame& f) { Mutex::ScopedLock l(frameQueueLock); if (!frameQueueClosed) frameQueue.push_back(f); - buffered += f.size(); + buffered += f.encodedSize(); } activateOutput(); } diff --git a/qpid/cpp/src/qpid/broker/Connection.cpp b/qpid/cpp/src/qpid/broker/Connection.cpp index 5d4ebad4b9..38affad51f 100644 --- a/qpid/cpp/src/qpid/broker/Connection.cpp +++ b/qpid/cpp/src/qpid/broker/Connection.cpp @@ -107,7 +107,7 @@ void Connection::recordFromServer(framing::AMQFrame& frame) if (mgmtObject != 0) { mgmtObject->inc_framesToClient(); - mgmtObject->inc_bytesToClient(frame.size()); + mgmtObject->inc_bytesToClient(frame.encodedSize()); } } @@ -116,7 +116,7 @@ void Connection::recordFromClient(framing::AMQFrame& frame) if (mgmtObject != 0) { mgmtObject->inc_framesFromClient(); - mgmtObject->inc_bytesFromClient(frame.size()); + mgmtObject->inc_bytesFromClient(frame.encodedSize()); } } diff --git a/qpid/cpp/src/qpid/broker/Exchange.cpp b/qpid/cpp/src/qpid/broker/Exchange.cpp index 553fb8f374..4824fa5742 100644 --- a/qpid/cpp/src/qpid/broker/Exchange.cpp +++ b/qpid/cpp/src/qpid/broker/Exchange.cpp @@ -111,7 +111,7 @@ uint32_t Exchange::encodedSize() const return name.size() + 1/*short string size*/ + 1 /*durable*/ + getType().size() + 1/*short string size*/ - + args.size(); + + args.encodedSize(); } ManagementObject* Exchange::GetManagementObject (void) const diff --git a/qpid/cpp/src/qpid/broker/Queue.cpp b/qpid/cpp/src/qpid/broker/Queue.cpp index 735a116cf2..c899a5befa 100644 --- a/qpid/cpp/src/qpid/broker/Queue.cpp +++ b/qpid/cpp/src/qpid/broker/Queue.cpp @@ -648,7 +648,7 @@ void Queue::encode(framing::Buffer& buffer) const uint32_t Queue::encodedSize() const { - return name.size() + 1/*short string size octet*/ + settings.size(); + return name.size() + 1/*short string size octet*/ + settings.encodedSize(); } Queue::shared_ptr Queue::decode(QueueRegistry& queues, framing::Buffer& buffer) diff --git a/qpid/cpp/src/qpid/client/Connector.cpp b/qpid/cpp/src/qpid/client/Connector.cpp index 6449088f92..fe7793c432 100644 --- a/qpid/cpp/src/qpid/client/Connector.cpp +++ b/qpid/cpp/src/qpid/client/Connector.cpp @@ -318,7 +318,7 @@ void TCPConnector::Writer::write(sys::AsynchIO&) { size_t bytesWritten(0); for (size_t i = 0; i < lastEof; ++i) { AMQFrame& frame = frames[i]; - uint32_t size = frame.size(); + uint32_t size = frame.encodedSize(); if (size > encode.available()) writeOne(); assert(size <= encode.available()); frame.encode(encode); @@ -368,7 +368,7 @@ void TCPConnector::writeDataBlock(const AMQDataBlock& data) { AsynchIO::BufferBase* buff = new Buff(maxFrameSize); framing::Buffer out(buff->bytes, buff->byteCount); data.encode(out); - buff->dataCount = data.size(); + buff->dataCount = data.encodedSize(); aio->queueWrite(buff); } diff --git a/qpid/cpp/src/qpid/client/RdmaConnector.cpp b/qpid/cpp/src/qpid/client/RdmaConnector.cpp index 1a85cbb4bc..98fe762f31 100644 --- a/qpid/cpp/src/qpid/client/RdmaConnector.cpp +++ b/qpid/cpp/src/qpid/client/RdmaConnector.cpp @@ -349,7 +349,7 @@ void RdmaConnector::Writer::write(Rdma::AsynchIO&) { size_t bytesWritten = 0; while (aio->writable() && aio->bufferAvailable() && !frames.empty()) { const AMQFrame* frame = &frames.front(); - uint32_t size = frame->size(); + uint32_t size = frame->encodedSize(); while (size <= encode.available()) { frame->encode(encode); frames.pop_front(); @@ -358,7 +358,7 @@ void RdmaConnector::Writer::write(Rdma::AsynchIO&) { if (frames.empty()) break; frame = &frames.front(); - size = frame->size(); + size = frame->encodedSize(); } lastEof -= framesEncoded; writeOne(); @@ -392,7 +392,7 @@ void RdmaConnector::writeDataBlock(const AMQDataBlock& data) { Rdma::Buffer* buff = aio->getBuffer(); framing::Buffer out(buff->bytes, buff->byteCount); data.encode(out); - buff->dataCount = data.size(); + buff->dataCount = data.encodedSize(); aio->queueWrite(buff); } diff --git a/qpid/cpp/src/qpid/client/SessionImpl.cpp b/qpid/cpp/src/qpid/client/SessionImpl.cpp index 3d73d92bd4..3e1ea8b724 100644 --- a/qpid/cpp/src/qpid/client/SessionImpl.cpp +++ b/qpid/cpp/src/qpid/client/SessionImpl.cpp @@ -427,13 +427,13 @@ void SessionImpl::handleIn(AMQFrame& frame) // network thread void SessionImpl::handleOut(AMQFrame& frame) // user thread { - connection->expand(frame.size(), true); + connection->expand(frame.encodedSize(), true); channel.handle(frame); } void SessionImpl::proxyOut(AMQFrame& frame) // network thread { - connection->expand(frame.size(), false); + connection->expand(frame.encodedSize(), false); channel.handle(frame); } @@ -523,7 +523,7 @@ void SessionImpl::commandPoint(const framing::SequenceNumber& id, uint64_t offse void SessionImpl::expected(const framing::SequenceSet& commands, const framing::Array& fragments) { - if (!commands.empty() || fragments.size()) { + if (!commands.empty() || fragments.encodedSize()) { throw NotImplementedException("Session resumption not yet supported"); } } diff --git a/qpid/cpp/src/qpid/cluster/Event.cpp b/qpid/cpp/src/qpid/cluster/Event.cpp index f7389c1922..3f2b5443d2 100644 --- a/qpid/cpp/src/qpid/cluster/Event.cpp +++ b/qpid/cpp/src/qpid/cluster/Event.cpp @@ -50,7 +50,7 @@ Event Event::delivered(const MemberId& m, void* d, size_t s) { Event Event::control(const framing::AMQBody& body, const ConnectionId& cid, uint32_t id) { framing::AMQFrame f(body); - Event e(CONTROL, cid, f.size(), id); + Event e(CONTROL, cid, f.encodedSize(), id); Buffer buf(e); f.encode(buf); return e; diff --git a/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp b/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp index e69992517c..cc1af255e4 100644 --- a/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp +++ b/qpid/cpp/src/qpid/cluster/OutputInterceptor.cpp @@ -40,7 +40,7 @@ void OutputInterceptor::send(framing::AMQFrame& f) { Locker l(lock); next->send(f); if (!parent.isCatchUp()) - sent += f.size(); + sent += f.encodedSize(); } void OutputInterceptor::activateOutput() { diff --git a/qpid/cpp/src/qpid/framing/AMQBody.h b/qpid/cpp/src/qpid/framing/AMQBody.h index f3bf65470c..93f4319575 100644 --- a/qpid/cpp/src/qpid/framing/AMQBody.h +++ b/qpid/cpp/src/qpid/framing/AMQBody.h @@ -52,7 +52,7 @@ class AMQBody virtual void encode(Buffer& buffer) const = 0; virtual void decode(Buffer& buffer, uint32_t=0) = 0; - virtual uint32_t size() const = 0; + virtual uint32_t encodedSize() const = 0; virtual void print(std::ostream& out) const = 0; virtual void accept(AMQBodyConstVisitor&) const = 0; diff --git a/qpid/cpp/src/qpid/framing/AMQCommandControlBody.h b/qpid/cpp/src/qpid/framing/AMQCommandControlBody.h index 388fb48299..d12b70a168 100644 --- a/qpid/cpp/src/qpid/framing/AMQCommandControlBody.h +++ b/qpid/cpp/src/qpid/framing/AMQCommandControlBody.h @@ -43,7 +43,7 @@ template <class T> class AMQCommandControlBody : public AMQBody, public T virtual void decode(Buffer& buffer, uint32_t=0) { Codec::decode(buffer.getIterator(), static_cast<T&>(*this)); } - virtual uint32_t size() const { + virtual uint32_t encodedSize() const { Codec::size(buffer.getIterator(), static_cast<const T&>(*this)); } diff --git a/qpid/cpp/src/qpid/framing/AMQContentBody.cpp b/qpid/cpp/src/qpid/framing/AMQContentBody.cpp index 59f3619ef2..85fb95739b 100644 --- a/qpid/cpp/src/qpid/framing/AMQContentBody.cpp +++ b/qpid/cpp/src/qpid/framing/AMQContentBody.cpp @@ -27,7 +27,7 @@ qpid::framing::AMQContentBody::AMQContentBody(){ qpid::framing::AMQContentBody::AMQContentBody(const string& _data) : data(_data){ } -uint32_t qpid::framing::AMQContentBody::size() const{ +uint32_t qpid::framing::AMQContentBody::encodedSize() const{ return data.size(); } void qpid::framing::AMQContentBody::encode(Buffer& buffer) const{ @@ -39,6 +39,6 @@ void qpid::framing::AMQContentBody::decode(Buffer& buffer, uint32_t _size){ void qpid::framing::AMQContentBody::print(std::ostream& out) const { - out << "content (" << size() << " bytes)"; + out << "content (" << encodedSize() << " bytes)"; out << " " << data.substr(0,16) << "..."; } diff --git a/qpid/cpp/src/qpid/framing/AMQContentBody.h b/qpid/cpp/src/qpid/framing/AMQContentBody.h index 5d530a1b9a..288f1549a9 100644 --- a/qpid/cpp/src/qpid/framing/AMQContentBody.h +++ b/qpid/cpp/src/qpid/framing/AMQContentBody.h @@ -39,7 +39,7 @@ public: inline uint8_t type() const { return CONTENT_BODY; }; inline const string& getData() const { return data; } inline string& getData() { return data; } - uint32_t size() const; + uint32_t encodedSize() const; void encode(Buffer& buffer) const; void decode(Buffer& buffer, uint32_t size); void print(std::ostream& out) const; diff --git a/qpid/cpp/src/qpid/framing/AMQDataBlock.h b/qpid/cpp/src/qpid/framing/AMQDataBlock.h index 9b6fdfd966..0b1f459627 100644 --- a/qpid/cpp/src/qpid/framing/AMQDataBlock.h +++ b/qpid/cpp/src/qpid/framing/AMQDataBlock.h @@ -32,7 +32,7 @@ public: virtual ~AMQDataBlock() {} virtual void encode(Buffer& buffer) const = 0; virtual bool decode(Buffer& buffer) = 0; - virtual uint32_t size() const = 0; + virtual uint32_t encodedSize() const = 0; }; } diff --git a/qpid/cpp/src/qpid/framing/AMQFrame.cpp b/qpid/cpp/src/qpid/framing/AMQFrame.cpp index 662b3574ff..98a1354811 100644 --- a/qpid/cpp/src/qpid/framing/AMQFrame.cpp +++ b/qpid/cpp/src/qpid/framing/AMQFrame.cpp @@ -37,8 +37,8 @@ void AMQFrame::setBody(const AMQBody& b) { body = new BodyHolder(b); } void AMQFrame::setMethod(ClassId c, MethodId m) { body = new BodyHolder(c,m); } -uint32_t AMQFrame::size() const { - return frameOverhead() + body->size(); +uint32_t AMQFrame::encodedSize() const { + return frameOverhead() + body->encodedSize(); } uint32_t AMQFrame::frameOverhead() { @@ -60,7 +60,7 @@ void AMQFrame::encode(Buffer& buffer) const uint8_t flags = (bof ? 0x08 : 0) | (eof ? 0x04 : 0) | (bos ? 0x02 : 0) | (eos ? 0x01 : 0); buffer.putOctet(flags); buffer.putOctet(getBody()->type()); - buffer.putShort(size()); + buffer.putShort(encodedSize()); buffer.putOctet(0); buffer.putOctet(0x0f & track); buffer.putShort(channel); diff --git a/qpid/cpp/src/qpid/framing/AMQFrame.h b/qpid/cpp/src/qpid/framing/AMQFrame.h index 331a57e08d..ddfe438806 100644 --- a/qpid/cpp/src/qpid/framing/AMQFrame.h +++ b/qpid/cpp/src/qpid/framing/AMQFrame.h @@ -78,7 +78,7 @@ class AMQFrame : public AMQDataBlock void encode(Buffer& buffer) const; bool decode(Buffer& buffer); - uint32_t size() const; + uint32_t encodedSize() const; // 0-10 terminology: first/last frame (in segment) first/last segment (in assembly) diff --git a/qpid/cpp/src/qpid/framing/AMQHeaderBody.cpp b/qpid/cpp/src/qpid/framing/AMQHeaderBody.cpp index 724c288705..276418b208 100644 --- a/qpid/cpp/src/qpid/framing/AMQHeaderBody.cpp +++ b/qpid/cpp/src/qpid/framing/AMQHeaderBody.cpp @@ -22,8 +22,8 @@ #include "qpid/Exception.h" #include "qpid/log/Statement.h" -uint32_t qpid::framing::AMQHeaderBody::size() const { - return properties.size(); +uint32_t qpid::framing::AMQHeaderBody::encodedSize() const { + return properties.encodedSize(); } void qpid::framing::AMQHeaderBody::encode(Buffer& buffer) const { @@ -52,7 +52,7 @@ uint64_t qpid::framing::AMQHeaderBody::getContentLength() const void qpid::framing::AMQHeaderBody::print(std::ostream& out) const { - out << "header (" << size() << " bytes)"; + out << "header (" << encodedSize() << " bytes)"; out << "; properties={"; properties.print(out); out << "}"; diff --git a/qpid/cpp/src/qpid/framing/AMQHeaderBody.h b/qpid/cpp/src/qpid/framing/AMQHeaderBody.h index c69a768291..7ddb7d89cf 100644 --- a/qpid/cpp/src/qpid/framing/AMQHeaderBody.h +++ b/qpid/cpp/src/qpid/framing/AMQHeaderBody.h @@ -41,9 +41,9 @@ class AMQHeaderBody : public AMQBody template <class T> struct OptProps { boost::optional<T> props; }; template <class Base, class T> struct PropSet : public Base, public OptProps<T> { - uint32_t size() const { + uint32_t encodedSize() const { const boost::optional<T>& p=this->OptProps<T>::props; - return (p ? p->size() : 0) + Base::size(); + return (p ? p->encodedSize() : 0) + Base::encodedSize(); } void encode(Buffer& buffer) const { const boost::optional<T>& p=this->OptProps<T>::props; @@ -68,7 +68,7 @@ class AMQHeaderBody : public AMQBody }; struct Empty { - uint32_t size() const { return 0; } + uint32_t encodedSize() const { return 0; } void encode(Buffer&) const {}; bool decode(Buffer&, uint32_t, uint16_t) const { return false; }; void print(std::ostream&) const {} @@ -83,7 +83,7 @@ public: inline uint8_t type() const { return HEADER_BODY; } - uint32_t size() const; + uint32_t encodedSize() const; void encode(Buffer& buffer) const; void decode(Buffer& buffer, uint32_t size); uint64_t getContentLength() const; diff --git a/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h b/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h index a2701c3398..7b42b46e5c 100644 --- a/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h +++ b/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h @@ -32,7 +32,7 @@ class AMQHeartbeatBody : public AMQBody { public: virtual ~AMQHeartbeatBody(); - inline uint32_t size() const { return 0; } + inline uint32_t encodedSize() const { return 0; } inline uint8_t type() const { return HEARTBEAT_BODY; } inline void encode(Buffer& ) const {} inline void decode(Buffer& , uint32_t /*size*/) {} diff --git a/qpid/cpp/src/qpid/framing/AMQMethodBody.h b/qpid/cpp/src/qpid/framing/AMQMethodBody.h index da28ee3aa9..cc7489ddd9 100644 --- a/qpid/cpp/src/qpid/framing/AMQMethodBody.h +++ b/qpid/cpp/src/qpid/framing/AMQMethodBody.h @@ -54,7 +54,7 @@ class AMQMethodBody : public AMQBody { return amqpClassId()==T::CLASS_ID && amqpMethodId()==T::METHOD_ID; } - virtual uint32_t size() const = 0; + virtual uint32_t encodedSize() const = 0; virtual uint8_t type() const { return METHOD_BODY; } virtual bool isSync() const { return false; /*only ModelMethods can have the sync flag set*/ } diff --git a/qpid/cpp/src/qpid/framing/Array.cpp b/qpid/cpp/src/qpid/framing/Array.cpp index f0b6331ff3..bcee85f472 100644 --- a/qpid/cpp/src/qpid/framing/Array.cpp +++ b/qpid/cpp/src/qpid/framing/Array.cpp @@ -42,11 +42,11 @@ Array::Array(const std::vector<std::string>& in) } -uint32_t Array::size() const { +uint32_t Array::encodedSize() const { //note: size is only included when used as a 'top level' type uint32_t len(4/*size*/ + 1/*type*/ + 4/*count*/); for(ValueVector::const_iterator i = values.begin(); i != values.end(); ++i) { - len += (*i)->getData().size(); + len += (*i)->getData().encodedSize(); } return len; } @@ -65,7 +65,7 @@ std::ostream& operator<<(std::ostream& out, const Array& t) { } void Array::encode(Buffer& buffer) const{ - buffer.putLong(size() - 4);//size added only when array is a top-level type + buffer.putLong(encodedSize() - 4);//size added only when array is a top-level type buffer.putOctet(typeOctet); buffer.putLong(count()); for (ValueVector::const_iterator i = values.begin(); i!=values.end(); ++i) { @@ -87,9 +87,9 @@ void Array::decode(Buffer& buffer){ FieldValue dummy; dummy.setType(typeOctet); available = buffer.available(); - if (available < count * dummy.getData().size()) { + if (available < count * dummy.getData().encodedSize()) { throw IllegalArgumentException(QPID_MSG("Not enough data for array, expected " - << count << " items of " << dummy.getData().size() + << count << " items of " << dummy.getData().encodedSize() << " bytes each but only " << available << " bytes available")); } diff --git a/qpid/cpp/src/qpid/framing/Array.h b/qpid/cpp/src/qpid/framing/Array.h index 2cbd4c0b29..b18b86fa35 100644 --- a/qpid/cpp/src/qpid/framing/Array.h +++ b/qpid/cpp/src/qpid/framing/Array.h @@ -39,7 +39,7 @@ class Array typedef boost::shared_ptr<FieldValue> ValuePtr; typedef std::vector<ValuePtr> ValueVector; - uint32_t size() const; + uint32_t encodedSize() const; void encode(Buffer& buffer) const; void decode(Buffer& buffer); diff --git a/qpid/cpp/src/qpid/framing/BodyHolder.cpp b/qpid/cpp/src/qpid/framing/BodyHolder.cpp index 1b2f74de2c..b30a52a38e 100644 --- a/qpid/cpp/src/qpid/framing/BodyHolder.cpp +++ b/qpid/cpp/src/qpid/framing/BodyHolder.cpp @@ -64,12 +64,12 @@ void BodyHolder::decode(uint8_t type, Buffer& buffer, uint32_t size) { get()->decode(buffer, size); } -uint32_t BodyHolder::size() const { +uint32_t BodyHolder::encodedSize() const { const AMQMethodBody* method=getMethod(); if (method) - return sizeof(ClassId)+sizeof(MethodId)+method->size(); + return sizeof(ClassId)+sizeof(MethodId)+method->encodedSize(); else - return get()->size(); + return get()->encodedSize(); } }} // namespace qpid::framing diff --git a/qpid/cpp/src/qpid/framing/BodyHolder.h b/qpid/cpp/src/qpid/framing/BodyHolder.h index f843961a32..0a35bb5e99 100644 --- a/qpid/cpp/src/qpid/framing/BodyHolder.h +++ b/qpid/cpp/src/qpid/framing/BodyHolder.h @@ -69,7 +69,7 @@ class BodyHolder : public RefCounted void encode(Buffer&) const; void decode(uint8_t frameType, Buffer&, uint32_t=0); - uint32_t size() const; + uint32_t encodedSize() const; /** Return body pointer or 0 if empty. */ AMQBody* get() { return blob.get(); } diff --git a/qpid/cpp/src/qpid/framing/FieldTable.cpp b/qpid/cpp/src/qpid/framing/FieldTable.cpp index 1658a0bf9b..290983e304 100644 --- a/qpid/cpp/src/qpid/framing/FieldTable.cpp +++ b/qpid/cpp/src/qpid/framing/FieldTable.cpp @@ -31,11 +31,11 @@ namespace framing { FieldTable::~FieldTable() {} -uint32_t FieldTable::size() const { +uint32_t FieldTable::encodedSize() const { uint32_t len(4/*size field*/ + 4/*count field*/); for(ValueMap::const_iterator i = values.begin(); i != values.end(); ++i) { // shortstr_len_byte + key size + value size - len += 1 + (i->first).size() + (i->second)->size(); + len += 1 + (i->first).size() + (i->second)->encodedSize(); } return len; } @@ -161,7 +161,7 @@ bool FieldTable::getDouble(const std::string& name, double& value) const { } void FieldTable::encode(Buffer& buffer) const{ - buffer.putLong(size() - 4); + buffer.putLong(encodedSize() - 4); buffer.putLong(values.size()); for (ValueMap::const_iterator i = values.begin(); i!=values.end(); ++i) { buffer.putShortString(i->first); diff --git a/qpid/cpp/src/qpid/framing/FieldTable.h b/qpid/cpp/src/qpid/framing/FieldTable.h index 1b6ef0a124..6dcc2ea7b4 100644 --- a/qpid/cpp/src/qpid/framing/FieldTable.h +++ b/qpid/cpp/src/qpid/framing/FieldTable.h @@ -52,7 +52,7 @@ class FieldTable typedef ValueMap::iterator iterator; ~FieldTable(); - uint32_t size() const; + uint32_t encodedSize() const; void encode(Buffer& buffer) const; void decode(Buffer& buffer); diff --git a/qpid/cpp/src/qpid/framing/FieldValue.h b/qpid/cpp/src/qpid/framing/FieldValue.h index 232c4a5cad..17f858989e 100644 --- a/qpid/cpp/src/qpid/framing/FieldValue.h +++ b/qpid/cpp/src/qpid/framing/FieldValue.h @@ -65,7 +65,7 @@ class FieldValue { class Data { public: virtual ~Data() {}; - virtual uint32_t size() const = 0; + virtual uint32_t encodedSize() const = 0; virtual void encode(Buffer& buffer) = 0; virtual void decode(Buffer& buffer) = 0; virtual bool operator==(const Data&) const = 0; @@ -83,7 +83,7 @@ class FieldValue { void setType(uint8_t type); uint8_t getType(); Data& getData() { return *data; } - uint32_t size() const { return 1 + data->size(); }; + uint32_t encodedSize() const { return 1 + data->encodedSize(); }; bool empty() const { return data.get() == 0; } void encode(Buffer& buffer); void decode(Buffer& buffer); @@ -137,7 +137,7 @@ class FixedWidthValue : public FieldValue::Data { } octets[0] = (uint8_t) (0xFF & v); } - uint32_t size() const { return width; } + uint32_t encodedSize() const { return width; } void encode(Buffer& buffer) { buffer.putRawData(octets, width); } void decode(Buffer& buffer) { buffer.getRawData(octets, width); } bool operator==(const Data& d) const { @@ -168,7 +168,7 @@ template <> class FixedWidthValue<0> : public FieldValue::Data { public: // Implicit default constructor is fine - uint32_t size() const { return 0; } + uint32_t encodedSize() const { return 0; } void encode(Buffer&) {}; void decode(Buffer&) {}; bool operator==(const Data& d) const { @@ -186,7 +186,7 @@ class VariableWidthValue : public FieldValue::Data { VariableWidthValue() {} VariableWidthValue(const std::vector<uint8_t>& data) : octets(data) {} VariableWidthValue(const uint8_t* start, const uint8_t* end) : octets(start, end) {} - uint32_t size() const { return lenwidth + octets.size(); } + uint32_t encodedSize() const { return lenwidth + octets.size(); } void encode(Buffer& buffer) { buffer.putUInt<lenwidth>(octets.size()); buffer.putRawData(&octets[0], octets.size()); @@ -219,7 +219,7 @@ class EncodedValue : public FieldValue::Data { T& getValue() { return value; } const T& getValue() const { return value; } - uint32_t size() const { return value.size(); } + uint32_t encodedSize() const { return value.encodedSize(); } void encode(Buffer& buffer) { value.encode(buffer); diff --git a/qpid/cpp/src/qpid/framing/HeaderProperties.h b/qpid/cpp/src/qpid/framing/HeaderProperties.h index d66c1d00d6..39c448fc3c 100644 --- a/qpid/cpp/src/qpid/framing/HeaderProperties.h +++ b/qpid/cpp/src/qpid/framing/HeaderProperties.h @@ -33,7 +33,7 @@ namespace framing { public: inline virtual ~HeaderProperties(){} virtual uint8_t classId() const = 0; - virtual uint32_t size() const = 0; + virtual uint32_t encodedSize() const = 0; virtual void encode(Buffer& buffer) const = 0; virtual void decode(Buffer& buffer, uint32_t size) = 0; }; diff --git a/qpid/cpp/src/qpid/framing/ModelMethod.h b/qpid/cpp/src/qpid/framing/ModelMethod.h index 8e4361e761..afbdf7b6e2 100644 --- a/qpid/cpp/src/qpid/framing/ModelMethod.h +++ b/qpid/cpp/src/qpid/framing/ModelMethod.h @@ -35,7 +35,7 @@ public: virtual ~ModelMethod() {} virtual void encodeHeader(Buffer& buffer) const { header.encode(buffer); } virtual void decodeHeader(Buffer& buffer, uint32_t size=0) { header.decode(buffer, size); } - virtual uint32_t headerSize() const { return header.size(); } + virtual uint32_t headerSize() const { return header.encodedSize(); } virtual bool isSync() const { return header.getSync(); } virtual void setSync(bool on) const { header.setSync(on); } Header& getHeader() { return header; } diff --git a/qpid/cpp/src/qpid/framing/ProtocolInitiation.h b/qpid/cpp/src/qpid/framing/ProtocolInitiation.h index 43e32da4cf..6584fee55c 100644 --- a/qpid/cpp/src/qpid/framing/ProtocolInitiation.h +++ b/qpid/cpp/src/qpid/framing/ProtocolInitiation.h @@ -41,7 +41,7 @@ public: virtual ~ProtocolInitiation(); virtual void encode(Buffer& buffer) const; virtual bool decode(Buffer& buffer); - inline virtual uint32_t size() const { return 8; } + inline virtual uint32_t encodedSize() const { return 8; } inline uint8_t getMajor() const { return version.getMajor(); } inline uint8_t getMinor() const { return version.getMinor(); } inline ProtocolVersion getVersion() const { return version; } diff --git a/qpid/cpp/src/qpid/framing/SendContent.cpp b/qpid/cpp/src/qpid/framing/SendContent.cpp index a62e4eeb72..f390106dee 100644 --- a/qpid/cpp/src/qpid/framing/SendContent.cpp +++ b/qpid/cpp/src/qpid/framing/SendContent.cpp @@ -34,13 +34,13 @@ void qpid::framing::SendContent::operator()(const AMQFrame& f) real frame size, hence substract -1 from frameOverhead()*/ uint16_t maxContentSize = maxFrameSize - (AMQFrame::frameOverhead() - 1); const AMQContentBody* body(f.castBody<AMQContentBody>()); - if (body->size() > maxContentSize) { + if (body->encodedSize() > maxContentSize) { uint32_t offset = 0; - for (int chunk = body->size() / maxContentSize; chunk > 0; chunk--) { - sendFragment(*body, offset, maxContentSize, first && offset == 0, last && offset + maxContentSize == body->size()); + for (int chunk = body->encodedSize() / maxContentSize; chunk > 0; chunk--) { + sendFragment(*body, offset, maxContentSize, first && offset == 0, last && offset + maxContentSize == body->encodedSize()); offset += maxContentSize; } - uint32_t remainder = body->size() % maxContentSize; + uint32_t remainder = body->encodedSize() % maxContentSize; if (remainder) { sendFragment(*body, offset, remainder, first && offset == 0, last); } diff --git a/qpid/cpp/src/qpid/framing/SequenceNumber.cpp b/qpid/cpp/src/qpid/framing/SequenceNumber.cpp index 7caaf5440b..cac4e6681e 100644 --- a/qpid/cpp/src/qpid/framing/SequenceNumber.cpp +++ b/qpid/cpp/src/qpid/framing/SequenceNumber.cpp @@ -90,7 +90,7 @@ void SequenceNumber::decode(Buffer& buffer) value = buffer.getLong(); } -uint32_t SequenceNumber::size() const { +uint32_t SequenceNumber::encodedSize() const { return 4; } diff --git a/qpid/cpp/src/qpid/framing/SequenceNumber.h b/qpid/cpp/src/qpid/framing/SequenceNumber.h index aacd77501b..930e146863 100644 --- a/qpid/cpp/src/qpid/framing/SequenceNumber.h +++ b/qpid/cpp/src/qpid/framing/SequenceNumber.h @@ -56,7 +56,7 @@ class SequenceNumber void encode(Buffer& buffer) const; void decode(Buffer& buffer); - uint32_t size() const; + uint32_t encodedSize() const; template <class S> void serialize(S& s) { s(value); } }; diff --git a/qpid/cpp/src/qpid/framing/SequenceSet.cpp b/qpid/cpp/src/qpid/framing/SequenceSet.cpp index 9610b9180c..2046fac3e1 100644 --- a/qpid/cpp/src/qpid/framing/SequenceSet.cpp +++ b/qpid/cpp/src/qpid/framing/SequenceSet.cpp @@ -56,7 +56,7 @@ void SequenceSet::decode(Buffer& buffer) } } -uint32_t SequenceSet::size() const { +uint32_t SequenceSet::encodedSize() const { return 2 /*size field*/ + (rangesSize() * RANGE_SIZE); } diff --git a/qpid/cpp/src/qpid/framing/SequenceSet.h b/qpid/cpp/src/qpid/framing/SequenceSet.h index 99e7cb4b21..8d97d03c4b 100644 --- a/qpid/cpp/src/qpid/framing/SequenceSet.h +++ b/qpid/cpp/src/qpid/framing/SequenceSet.h @@ -39,7 +39,7 @@ class SequenceSet : public RangeSet<SequenceNumber> { void encode(Buffer& buffer) const; void decode(Buffer& buffer); - uint32_t size() const; + uint32_t encodedSize() const; bool contains(const SequenceNumber& s) const; void add(const SequenceNumber& s); diff --git a/qpid/cpp/src/qpid/framing/Uuid.h b/qpid/cpp/src/qpid/framing/Uuid.h index e3e309a56c..310d95a6cc 100644 --- a/qpid/cpp/src/qpid/framing/Uuid.h +++ b/qpid/cpp/src/qpid/framing/Uuid.h @@ -64,8 +64,8 @@ struct Uuid : public boost::array<uint8_t, 16> { // boost::array gives us ==, < etc. void encode(framing::Buffer& buf) const; - void decode(framing::Buffer& buf); + uint32_t encodedSize() const { return size(); } /** String value in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */ std::string str(); diff --git a/qpid/cpp/src/qpid/framing/frame_functors.h b/qpid/cpp/src/qpid/framing/frame_functors.h index 8ae3d15b4f..d2064d6a57 100644 --- a/qpid/cpp/src/qpid/framing/frame_functors.h +++ b/qpid/cpp/src/qpid/framing/frame_functors.h @@ -36,7 +36,7 @@ class SumFrameSize uint64_t size; public: SumFrameSize() : size(0) {} - void operator()(const AMQFrame& f) { size += f.size(); } + void operator()(const AMQFrame& f) { size += f.encodedSize(); } uint64_t getSize() { return size; } }; @@ -45,7 +45,7 @@ class SumBodySize uint64_t size; public: SumBodySize() : size(0) {} - void operator()(const AMQFrame& f) { size += f.getBody()->size(); } + void operator()(const AMQFrame& f) { size += f.getBody()->encodedSize(); } uint64_t getSize() { return size; } }; diff --git a/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp b/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp index 886dbc8f43..fb4cb32734 100644 --- a/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp +++ b/qpid/cpp/src/qpid/sys/AsynchIOHandler.cpp @@ -70,7 +70,7 @@ void AsynchIOHandler::write(const framing::ProtocolInitiation& data) buff = new Buff; framing::Buffer out(buff->bytes, buff->byteCount); data.encode(out); - buff->dataCount = data.size(); + buff->dataCount = data.encodedSize(); aio->queueWrite(buff); } diff --git a/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp b/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp index fc9174c493..6ea006df9d 100644 --- a/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp +++ b/qpid/cpp/src/qpid/sys/RdmaIOPlugin.cpp @@ -100,7 +100,7 @@ void RdmaIOHandler::write(const framing::ProtocolInitiation& data) Rdma::Buffer* buff = aio->getBuffer(); framing::Buffer out(buff->bytes, buff->byteCount); data.encode(out); - buff->dataCount = data.size(); + buff->dataCount = data.encodedSize(); aio->queueWrite(buff); } diff --git a/qpid/cpp/src/tests/FieldTable.cpp b/qpid/cpp/src/tests/FieldTable.cpp index 953b853cd6..9c75970278 100644 --- a/qpid/cpp/src/tests/FieldTable.cpp +++ b/qpid/cpp/src/tests/FieldTable.cpp @@ -69,11 +69,11 @@ QPID_AUTO_TEST_CASE(testAssignment) FieldTable c; c = a; - char* buff = static_cast<char*>(::alloca(c.size())); - Buffer wbuffer(buff, c.size()); + char* buff = static_cast<char*>(::alloca(c.encodedSize())); + Buffer wbuffer(buff, c.encodedSize()); wbuffer.put(c); - Buffer rbuffer(buff, c.size()); + Buffer rbuffer(buff, c.encodedSize()); rbuffer.get(d); BOOST_CHECK_EQUAL(c, d); BOOST_CHECK(string("CCCC") == c.getString("A")); diff --git a/qpid/cpp/src/tests/Frame.cpp b/qpid/cpp/src/tests/Frame.cpp index 9ee3848b7b..11905911fa 100644 --- a/qpid/cpp/src/tests/Frame.cpp +++ b/qpid/cpp/src/tests/Frame.cpp @@ -33,7 +33,7 @@ QPID_AUTO_TEST_CASE(testContentBody) { Frame f(42, AMQContentBody("foobar")); AMQBody* body=f.getBody(); BOOST_CHECK(dynamic_cast<AMQContentBody*>(body)); - Buffer b(f.size()); + Buffer b(f.encodedSize(); f.encode(b); b.flip(); Frame g; @@ -50,7 +50,7 @@ QPID_AUTO_TEST_CASE(testMethodBody) { 42, QueueDeclareBody(ProtocolVersion(), 1, "q", "altex", true, false, true, false, true, args)); BOOST_CHECK_EQUAL(f.getChannel(), 42); - Buffer b(f.size()); + Buffer b(f.encodedSize(); f.encode(b); b.flip(); Frame g; diff --git a/qpid/cpp/src/tests/HeaderTest.cpp b/qpid/cpp/src/tests/HeaderTest.cpp index c3b64419ed..33bf705e65 100644 --- a/qpid/cpp/src/tests/HeaderTest.cpp +++ b/qpid/cpp/src/tests/HeaderTest.cpp @@ -39,7 +39,7 @@ QPID_AUTO_TEST_CASE(testGenericProperties) Buffer rbuffer(buff, 100); AMQHeaderBody body2; - body2.decode(rbuffer, body.size()); + body2.decode(rbuffer, body.encodedSize()); MessageProperties* props = body2.get<MessageProperties>(true); BOOST_CHECK_EQUAL( diff --git a/qpid/cpp/src/tests/SessionState.cpp b/qpid/cpp/src/tests/SessionState.cpp index ba966da9b1..2db25f9fe8 100644 --- a/qpid/cpp/src/tests/SessionState.cpp +++ b/qpid/cpp/src/tests/SessionState.cpp @@ -85,7 +85,7 @@ AMQFrame contentFrameChar(char content, bool isLast=true) { } // Send frame & return size of frame. -size_t send(qpid::SessionState& s, const AMQFrame& f) { s.senderRecord(f); return f.size(); } +size_t send(qpid::SessionState& s, const AMQFrame& f) { s.senderRecord(f); return f.encodedSize(); } // Send transfer command with no content. size_t transfer0(qpid::SessionState& s) { return send(s, transferFrame(false)); } // Send transfer frame with single content frame. @@ -116,8 +116,8 @@ size_t transfers(qpid::SessionState& s, string content) { bind(transfer1Char, ref(s), _1)); } -size_t contentFrameSize(size_t n=1) { return AMQFrame(in_place<AMQContentBody>()).size() + n; } -size_t transferFrameSize() { return AMQFrame(in_place<MessageTransferBody>()).size(); } +size_t contentFrameSize(size_t n=1) { return AMQFrame(in_place<AMQContentBody>()).encodedSize() + n; } +size_t transferFrameSize() { return AMQFrame(in_place<MessageTransferBody>()).encodedSize(); } // ==== qpid::SessionState test classes |