frame cleanup

removed crufty code, improve test coverage
This commit is contained in:
Matt Broadstone 2014-07-29 13:35:01 -04:00
parent a75307ae9f
commit 77134f0279
2 changed files with 19 additions and 36 deletions

View File

@ -60,11 +60,6 @@ void Base::writeEnd(QDataStream &stream) const
stream.device()->waitForBytesWritten(1000); stream.device()->waitForBytesWritten(1000);
} }
void Base::writePayload(QDataStream &stream) const
{
Q_UNUSED(stream)
}
void Base::readHeader(QDataStream &stream) void Base::readHeader(QDataStream &stream)
{ {
stream >> type_; stream >> type_;
@ -72,6 +67,7 @@ void Base::readHeader(QDataStream &stream)
stream >> size_; stream >> size_;
} }
/*
void Base::readEnd(QDataStream &stream) void Base::readEnd(QDataStream &stream)
{ {
unsigned char end_ = 0; unsigned char end_ = 0;
@ -79,12 +75,7 @@ void Base::readEnd(QDataStream &stream)
if (end_ != FRAME_END) if (end_ != FRAME_END)
qWarning("Wrong end of frame"); qWarning("Wrong end of frame");
} }
*/
void Base::readPayload(QDataStream &stream)
{
stream.skipRawData(size_);
}
void Base::toStream(QDataStream &stream) const void Base::toStream(QDataStream &stream) const
{ {
writeHeader(stream); writeHeader(stream);
@ -94,47 +85,45 @@ void Base::toStream(QDataStream &stream) const
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
Frame::Method::Method(MethodClass methodClass, qint16 id) Method::Method(MethodClass methodClass, qint16 id)
: Base(ftMethod), methodClass_(methodClass), id_(id) : Base(ftMethod),
methodClass_(methodClass),
id_(id)
{ {
} }
Frame::Method::Method(QDataStream &raw) Method::Method(QDataStream &raw)
: Base(raw) : Base(raw)
{ {
readPayload(raw); readPayload(raw);
} }
Frame::Method::Method(): Base(ftMethod) MethodClass Method::methodClass() const
{
}
MethodClass Frame::Method::methodClass() const
{ {
return MethodClass(methodClass_); return MethodClass(methodClass_);
} }
qint16 Frame::Method::id() const qint16 Method::id() const
{ {
return id_; return id_;
} }
qint32 Frame::Method::size() const qint32 Method::size() const
{ {
return sizeof(id_) + sizeof(methodClass_) + arguments_.size(); return sizeof(id_) + sizeof(methodClass_) + arguments_.size();
} }
void Frame::Method::setArguments(const QByteArray &data) void Method::setArguments(const QByteArray &data)
{ {
arguments_ = data; arguments_ = data;
} }
QByteArray Frame::Method::arguments() const QByteArray Method::arguments() const
{ {
return arguments_; return arguments_;
} }
void Frame::Method::readPayload(QDataStream &stream) void Method::readPayload(QDataStream &stream)
{ {
stream >> methodClass_; stream >> methodClass_;
stream >> id_; stream >> id_;
@ -143,7 +132,7 @@ void Frame::Method::readPayload(QDataStream &stream)
stream.readRawData(arguments_.data(), arguments_.size()); stream.readRawData(arguments_.data(), arguments_.size());
} }
void Frame::Method::writePayload(QDataStream &stream) const void Method::writePayload(QDataStream &stream) const
{ {
stream << quint16(methodClass_); stream << quint16(methodClass_);
stream << quint16(id_); stream << quint16(id_);

View File

@ -147,12 +147,12 @@ namespace Frame
protected: protected:
void writeHeader(QDataStream &stream) const; void writeHeader(QDataStream &stream) const;
virtual void writePayload(QDataStream &stream) const; virtual void writePayload(QDataStream &stream) const = 0;
void writeEnd(QDataStream &stream) const; void writeEnd(QDataStream &stream) const;
void readHeader(QDataStream &stream); void readHeader(QDataStream &stream);
virtual void readPayload(QDataStream &stream); virtual void readPayload(QDataStream &stream) = 0;
void readEnd(QDataStream &stream); // void readEnd(QDataStream &stream);
qint32 size_; qint32 size_;
@ -178,26 +178,20 @@ namespace Frame
class QAMQP_EXPORT Method : public Base class QAMQP_EXPORT Method : public Base
{ {
public: public:
/*
* Method class constructor.
* @detailed Construct frame class for sending.
*/
Method();
/* /*
* Method class constructor. * Method class constructor.
* @detailed Construct frame class for sending. * @detailed Construct frame class for sending.
* @param methodClass Define method class id of constructed frame. * @param methodClass Define method class id of constructed frame.
* @param id Define method id of constructed frame. * @param id Define method id of constructed frame.
*/ */
Method(MethodClass methodClass, qint16 id); explicit Method(MethodClass methodClass, qint16 id);
/* /*
* Method class constructor. * Method class constructor.
* @detailed Construct frame class from received raw data. * @detailed Construct frame class from received raw data.
* @param raw Data stream for reading source data. * @param raw Data stream for reading source data.
*/ */
Method(QDataStream &raw); explicit Method(QDataStream &raw);
/* /*
* Method class type. * Method class type.