iox::dds::IoxChunkDatagramHeader🔗
The datagram header with chunk metadata for user-header and user-payload.
#include <iceoryx_dds/dds/iox_chunk_datagram_header.hpp>
Public Types🔗
Name | |
---|---|
using iox::cxx::vector< uint8_t, 16U > | Serialized_t |
Public Functions🔗
Name | |
---|---|
Serialized_t | serialize(const IoxChunkDatagramHeader & datagramHeader) Serializes a IoxChunkDatagramHeader into a vector of uint8_t. |
IoxChunkDatagramHeader | deserialize(const Serialized_t & serializedDatagramHeader) Deserializes a vector of uint8_t into a IoxChunkDatagramHeader. |
Public Attributes🔗
Name | |
---|---|
constexpr uint8_t | DATAGRAM_VERSION From the 1.0 release onward, this must be incremented for each incompatible change, e.g. |
uint8_t | datagramVersion |
Endianess | endianness |
uint16_t | userHeaderId |
uint32_t | userHeaderSize |
uint32_t | userPayloadSize |
uint32_t | userPayloadAlignment |
Public Types Documentation🔗
using Serialized_t🔗
using iox::dds::IoxChunkDatagramHeader::Serialized_t = iox::cxx::vector<uint8_t, 16U>;
Public Functions Documentation🔗
function serialize🔗
static Serialized_t serialize(
const IoxChunkDatagramHeader & datagramHeader
)
Serializes a IoxChunkDatagramHeader into a vector of uint8_t.
Parameters:
- datagramHeader to serialize
Return: the serialized IoxChunkDatagramHeader
function deserialize🔗
static IoxChunkDatagramHeader deserialize(
const Serialized_t & serializedDatagramHeader
)
Deserializes a vector of uint8_t into a IoxChunkDatagramHeader.
Parameters:
- serializedDatagram is the serialized IoxChunkDatagramHeader
Return: the deserialized IoxChunkDatagramHeader
Public Attributes Documentation🔗
variable DATAGRAM_VERSION🔗
static constexpr uint8_t DATAGRAM_VERSION {1U};
From the 1.0 release onward, this must be incremented for each incompatible change, e.g.
- data width of members changes
- members are rearranged
- semantic meaning of a member changes
variable datagramVersion🔗
uint8_t datagramVersion {[DATAGRAM_VERSION](/v2.0.2/API-reference/DDS-gateway/Classes/structiox_1_1dds_1_1IoxChunkDatagramHeader/#variable-datagram_version)};
Note: This must always be the first member and always 1 bytes in order to prevent issues with endianess when deserialized or incorrectly detected versions due to different size
variable endianness🔗
Endianess endianness {Endianess::UNDEFINED};
Note: This must always be 1 byte in order to prevent issues with endianess when deserialized
variable userHeaderId🔗
uint16_t userHeaderId {0xFFFF};
variable userHeaderSize🔗
uint32_t userHeaderSize {0U};
variable userPayloadSize🔗
uint32_t userPayloadSize {0U};
variable userPayloadAlignment🔗
uint32_t userPayloadAlignment {0U};
Updated on 31 May 2022 at 11:34:55 CEST