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();
48 status = deserializer.deserialize(packetDescriptor);
55 status = deserializer.deserialize(this->
m_id);
59 status = deserializer.deserialize(this->
m_priority);
63 status = deserializer.deserialize(this->
m_timeTag);
67 status = deserializer.deserialize(this->
m_procTypes);
74 if (receivedSize != requestedSize) {
80 status = deserializer.deserialize(this->
m_dpState);
84 status = deserializer.deserializeSize(this->
m_dataSize);
97 status = serializer.serialize(this->
m_id);
100 status = serializer.serialize(this->
m_priority);
103 status = serializer.serialize(this->
m_timeTag);
109 status = serializer.serialize(this->
m_userData, static_cast<FwSizeType>(
sizeof this->
m_userData),
113 status = serializer.serialize(this->
m_dpState);
116 status = serializer.serializeSize(this->
m_dataSize);
135 FW_ASSERT(bufferSize >= minBufferSize, static_cast<FwAssertArgType>(bufferSize),
136 static_cast<FwAssertArgType>(minBufferSize));
148 FW_ASSERT(bufferSize >= minBufferSize, static_cast<FwAssertArgType>(bufferSize),
149 static_cast<FwAssertArgType>(minBufferSize));
167 FW_ASSERT(bufferSize >= minBufferSize, static_cast<FwAssertArgType>(bufferSize),
168 static_cast<FwAssertArgType>(minBufferSize));
189 static_cast<FwAssertArgType>(bufferSize));
190 const U8*
const dataHashAddr = &buffAddr[dataHashOffset];
200 static_cast<FwAssertArgType>(bufferSize));
210 U8*
const dataHashAddr = &buffAddr[dataHashOffset];
213 static_cast<FwAssertArgType>(bufferSize));
234 void DpContainer::initUserDataField() {
Serialization/Deserialization operation was successful.
#define HASH_DIGEST_LENGTH
Header::UserData m_userData
The user data.
PlatformSizeType FwSizeType
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.
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
static constexpr FwSizeType MIN_PACKET_SIZE
Time m_timeTag
The time tag.
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.
U32 FwDpIdType
The type of a data product identifier.
void setBuffer(const Buffer &buffer)
Set the packet buffer.
SerializeStatus
forward declaration for string
ExternalSerializeBufferWithMemberCopy getDeserializer()
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.
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.
SerializeStatus moveDeserToOffset(FwSizeType offset)
Moves deserialization to the specified 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
static void hash(const void *data, const FwSizeType len, HashBuffer &buffer)
void updateDataHash()
Update the data hash.
void setExtBuffer(U8 *buffPtr, Serializable::SizeType size)
Omit length from serialization.
U32 FwPacketDescriptorType
The type of a com packet descriptor.
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.
ExternalSerializeBufferWithMemberCopy getSerializer()
DpContainer()
Constructor for container with default initialization.