20 : m_id(id), m_priority(0), m_timeTag(), m_procTypes(0), m_dpState(), m_dataSize(0), m_buffer(), m_dataBuffer() {
22 this->initUserDataField();
29 : m_id(0), m_priority(0), m_timeTag(), m_procTypes(0), m_dataSize(0), m_buffer(), m_dataBuffer() {
31 this->initUserDataField();
50 status = serializeRepr.deserialize(packetDescriptor);
57 status = serializeRepr.deserialize(this->
m_id);
61 status = serializeRepr.deserialize(this->
m_priority);
65 status = serializeRepr.deserialize(this->
m_timeTag);
69 status = serializeRepr.deserialize(this->
m_procTypes);
76 if (receivedSize != requestedSize) {
82 status = serializeRepr.deserialize(this->
m_dpState);
86 status = serializeRepr.deserializeSize(this->
m_dataSize);
101 status = serializeRepr.serialize(this->
m_id);
104 status = serializeRepr.serialize(this->
m_priority);
107 status = serializeRepr.serialize(this->
m_timeTag);
110 status = serializeRepr.serialize(this->
m_procTypes);
113 status = serializeRepr.serialize(this->
m_userData, static_cast<FwSizeType>(
sizeof this->
m_userData),
117 status = serializeRepr.serialize(this->
m_dpState);
120 status = serializeRepr.serializeSize(this->
m_dataSize);
139 FW_ASSERT(bufferSize >= minBufferSize, static_cast<FwAssertArgType>(bufferSize),
140 static_cast<FwAssertArgType>(minBufferSize));
152 FW_ASSERT(bufferSize >= minBufferSize, static_cast<FwAssertArgType>(bufferSize),
153 static_cast<FwAssertArgType>(minBufferSize));
171 FW_ASSERT(bufferSize >= minBufferSize, static_cast<FwAssertArgType>(bufferSize),
172 static_cast<FwAssertArgType>(minBufferSize));
193 static_cast<FwAssertArgType>(bufferSize));
194 const U8*
const dataHashAddr = &buffAddr[dataHashOffset];
204 static_cast<FwAssertArgType>(bufferSize));
206 Utils::Hash::hash(dataAddr, static_cast<NATIVE_INT_TYPE>(dataSize), computedHash);
214 U8*
const dataHashAddr = &buffAddr[dataHashOffset];
217 static_cast<FwAssertArgType>(bufferSize));
238 void DpContainer::initUserDataField() {
Serialization/Deserialization operation was successful.
SerializeBufferBase & getSerializeRepr()
#define HASH_DIGEST_LENGTH
Header::UserData m_userData
The user data.
void setHeaderHash(const Utils::HashBuffer &hash)
Set the header hash.
void resetSer()
reset to beginning of buffer to reuse for serialization
SerializeStatus copyRaw(SerializeBufferBase &dest, Serializable::SizeType size)
directly copies buffer without looking for a size in the stream.
static constexpr FwSizeType MIN_PACKET_SIZE
Time m_timeTag
The time tag.
PlatformSizeType FwSizeType
void setDataHash(Utils::HashBuffer hash)
Set the data hash.
Fw::ExternalSerializeBufferWithMemberCopy m_dataBuffer
Utils::HashBuffer getHeaderHash() const
static constexpr FwSizeType HEADER_HASH_OFFSET
The header hash offset.
void setBuffer(const Buffer &buffer)
Set the packet buffer.
SerializeStatus
forward declaration for string
U32 FwPacketDescriptorType
FwSizeType m_dataSize
The data size.
FwDpPriorityType m_priority
The priority.
Data was the wrong format (e.g. wrong packet type)
void updateHeaderHash()
Compute and set the header hash.
static void hash(const void *data, const NATIVE_INT_TYPE len, HashBuffer &buffer)
Data was left in the buffer, but not enough to deserialize.
External serialize buffer with no copy semantics.
Utils::HashBuffer getDataHash() const
Utils::HashBuffer computeDataHash() const
DpState m_dpState
The data product state.
FwSizeType getDataHashOffset() const
Get the data hash offset.
Success::T checkDataHash(Utils::HashBuffer &storedHash, Utils::HashBuffer &computedHash) const
Check the data hash.
static constexpr FwSizeType DATA_OFFSET
The data offset.
uint8_t U8
8-bit unsigned integer
Utils::HashBuffer computeHeaderHash() const
void updateDataHash()
Update the data hash.
void setExtBuffer(U8 *buffPtr, Serializable::SizeType size)
Omit length from serialization.
DpCfg::ProcType::SerialType m_procTypes
The processing types.
A container class for holding a hash buffer.
Success::T checkHeaderHash(Utils::HashBuffer &storedHash, Utils::HashBuffer &computedHash) const
Check the header hash.
Fw::SerializeStatus deserializeHeader()
FwSizeType getDataSize() const
Buffer m_buffer
The packet buffer.
SerializeStatus setBuffLen(Serializable::SizeType length)
sets buffer length manually after filling with data
DpContainer()
Constructor for container with default initialization.