79 virtual const std::vector<unsigned char>
Serialize()
const = 0;
107 bool ParseBytes(
const unsigned char *a_ReadBuffer,
size_t &a_ReadBufferOffset,
size_t &a_BytesAvailable) {
109 assert(a_ReadBuffer);
110 assert(a_BytesAvailable);
114 bool l_bSuccess =
true;
118 if (a_BytesAvailable < l_BytesToCopy) {
119 l_BytesToCopy = a_BytesAvailable;
123 m_Buffer.insert(
m_Buffer.end(), &a_ReadBuffer[a_ReadBufferOffset], (&a_ReadBuffer[a_ReadBufferOffset] + l_BytesToCopy));
124 a_ReadBufferOffset += l_BytesToCopy;
125 a_BytesAvailable -= l_BytesToCopy;
virtual bool Deserialize()=0
The purely virtual deserializer method.
virtual ~Frame()
The destructor of Frame objects.
bool ParseBytes(const unsigned char *a_ReadBuffer, size_t &a_ReadBufferOffset, size_t &a_BytesAvailable)
Deliver a chunk of received bytes in the phase of deserialization.
size_t BytesNeeded() const
Query the amount of outstanding data during reception for frame assembly.
Frame()
The constructor of Frame objects.
std::vector< unsigned char > m_Buffer
The buffer containing partly received frames or higher-layer payload.
virtual const std::vector< unsigned char > Serialize() const =0
The purely virtual serializer method.
size_t m_BytesRemaining
The amount of bytes required to finalize frame assembly during reception.