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);
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
Data was left in the buffer, but not enough to deserialize.
Serializable::SizeType getDeserializeSizeLeft() const override
Get remaining deserialization buffer size.
U32 bufferSize() const
Compute the buffer size needed to hold this DataPacket.
uint8_t U8
8-bit unsigned integer
FwSizeType getSize() const
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
U8 * getBuffAddr()
Get buffer address for data filling (non-const version)
void initialize(const U32 sequenceIndex, const U32 byteOffset, const U16 dataSize, const U8 *const data)
Initialize a data packet.
Implementation of malloc based allocator.