21 const U8*
const data) {
23 this->m_byteOffset = byteOffset;
24 this->m_dataSize = dataSize;
29 return static_cast<U32
>(this->m_header.bufferSize() +
sizeof(this->m_byteOffset) +
sizeof(this->m_dataSize) +
35 return this->toSerialBuffer(serialBuffer);
51 if (serialBuffer.
getBuffLeft() != this->m_dataSize) {
56 this->m_data = &addr[this->fixedLengthSize()];
61 U32 FilePacket::DataPacket ::fixedLengthSize()
const {
62 return static_cast<U32
>(this->m_header.bufferSize() +
sizeof(this->m_byteOffset) +
sizeof(this->m_dataSize));
65 SerializeStatus FilePacket::DataPacket ::toSerialBuffer(SerialBuffer& serialBuffer)
const {
70 status = this->m_header.toSerialBuffer(serialBuffer);
75 status = serialBuffer.serializeFrom(this->m_byteOffset);
80 status = serialBuffer.serializeFrom(this->m_dataSize);
85 status = serialBuffer.pushBytes(this->m_data, this->m_dataSize);
Serialization/Deserialization operation was successful.
A variable-length serializable buffer.
SerializeStatus toBuffer(Buffer &buffer) const
Convert this DataPacket to a Buffer.
SerializeStatus
forward declaration for string
Serializable::SizeType getBuffLeft() const
returns how much deserialization buffer is left
Data was left in the buffer, but not enough to deserialize.
U32 bufferSize() const
Compute the buffer size needed to hold this DataPacket.
uint8_t U8
8-bit unsigned integer
FwSizeType getSize() const
U8 * getBuffAddr()
gets buffer address for data filling
void initialize(const U32 sequenceIndex, const U32 byteOffset, const U16 dataSize, const U8 *const data)
Initialize a data packet.
SerializeStatus deserializeTo(U8 &val)
deserialize 8-bit unsigned int