Class ChunkSettings

Class Documentation

class ChunkSettings

Public Types

enum class Error

Values:

enumerator ALIGNMENT_NOT_POWER_OF_TWO
enumerator USER_HEADER_ALIGNMENT_EXCEEDS_CHUNK_HEADER_ALIGNMENT
enumerator USER_HEADER_SIZE_NOT_MULTIPLE_OF_ITS_ALIGNMENT
enumerator REQUIRED_CHUNK_SIZE_EXCEEDS_MAX_CHUNK_SIZE

Public Functions

uint32_t requiredChunkSize() const noexcept

getter method for the chunk size fulfilling the user-payload and user-header requirements

Returns:

the chunk size

uint32_t userPayloadSize() const noexcept

getter method for the user-payload size

Returns:

the user-payload size

uint32_t userPayloadAlignment() const noexcept

getter method for the user-payload alignment

Returns:

the user-payload alignment

uint32_t userHeaderSize() const noexcept

getter method for the user-header size

Returns:

the user-header size

uint32_t userHeaderAlignment() const noexcept

getter method for the user-header alignment

Returns:

the user-header alignment

Public Static Functions

static cxx::expected<ChunkSettings, ChunkSettings::Error> create(const uint32_t userPayloadSize, const uint32_t userPayloadAlignment = iox::CHUNK_DEFAULT_USER_PAYLOAD_ALIGNMENT, const uint32_t userHeaderSize = iox::CHUNK_NO_USER_HEADER_SIZE, const uint32_t userHeaderAlignment = iox::CHUNK_NO_USER_HEADER_ALIGNMENT) noexcept

constructs and initializes a ChunkSettings

Parameters:
  • chunkSize[in] is the size of the chunk fulfilling the user-payload and user-header requirements

  • userPayloadSize[in] is the size of the user-payload

  • userPayloadAlignment[in] is the alignment of the user-payload

  • userHeaderSize[in] is the size of the user-header

  • userHeaderAlignment[in] is the alignment for the user-header