20.2.3.20.2. SerializedPayload_t

struct SerializedPayload_t

Structure SerializedPayload_t.

Public Functions

inline SerializedPayload_t()

Default constructor.

inline explicit SerializedPayload_t(uint32_t len)
Parameters:

len – Maximum size of the payload

SerializedPayload_t(const SerializedPayload_t &other) = delete

Copy constructor.

SerializedPayload_t &operator=(const SerializedPayload_t &other) = delete

Copy operator.

inline SerializedPayload_t(SerializedPayload_t &&other) noexcept

Move constructor.

SerializedPayload_t &operator=(SerializedPayload_t &&other) noexcept

Move operator.

~SerializedPayload_t()

Destructor It is expected to release the payload if the payload owner is not nullptr before destruction.

bool copy(const SerializedPayload_t *serData, bool with_limit = true)

Copy another structure (including allocating new space for the data).

Parameters:
  • serData[in] Pointer to the structure to copy

  • with_limit – if true, the function will fail when providing a payload too big

Returns:

True if correct

bool reserve_fragmented(SerializedPayload_t *serData)

Allocate new space for fragmented data.

Parameters:

serData[in] Pointer to the structure to copy

Returns:

True if correct

void empty()

Empty the payload.

Pre:

payload_owner must be nullptr

Public Members

uint16_t encapsulation

Encapsulation of the data as suggested in the RTPS 2.1 specification chapter 10.

uint32_t length

Actual length of the data.

octet *data

Pointer to the data.

uint32_t max_size

Maximum size of the payload.

uint32_t pos

Position when reading.

IPayloadPool *payload_owner = nullptr

Pool that created the payload.

Public Static Attributes

static constexpr size_t representation_header_size = 4u

Size in bytes of the representation header as specified in the RTPS 2.3 specification chapter 10.