Skip to content

iox::popo::RequestHeader🔗

Inherits from iox::popo::RpcBaseHeader

Public Functions🔗

Name
RequestHeader(const cxx::UniqueId & uniqueClientQueueId, const uint32_t lastKnownClientQueueIndex)
Constructs and initializes a RpcBaseHeader.
RequestHeader(const RequestHeader & other)
RequestHeader & operator=(const RequestHeader & )
RequestHeader(RequestHeader && rhs) =default
RequestHeader & operator=(RequestHeader && rhs) =default
~RequestHeader() =default
void setSequenceId(const int64_t sequenceId)
Sets the sequence ID which is used to match a response to a request.
RequestHeader * fromPayload(void *const payload)
const RequestHeader * fromPayload(const void *const payload)

Additional inherited members🔗

Public Functions inherited from iox::popo::RpcBaseHeader

Name
RpcBaseHeader(const cxx::UniqueId & uniqueClientQueueId, const uint32_t lastKnownClientQueueIndex, const int64_t sequenceId, const uint8_t rpcHeaderVersion)
Constructs and initializes a RpcBaseHeader.
RpcBaseHeader(const RpcBaseHeader & other)
RpcBaseHeader(RpcBaseHeader && rhs) =default
~RpcBaseHeader() =default
uint8_t getRpcHeaderVersion() const
The RpcBaseHeader version is used to detect incompatibilities for record&replay functionality.
int64_t getSequenceId() const
mepoo::ChunkHeader * getChunkHeader()
Get the pointer to the ChunkHeader.
const mepoo::ChunkHeader * getChunkHeader() const
Get the const pointer to the ChunkHeader.
void * getUserPayload()
Get the pointer to the user-payload.
const void * getUserPayload() const
Get the const pointer to the user-payload.

Public Attributes inherited from iox::popo::RpcBaseHeader

Name
constexpr uint8_t RPC_HEADER_VERSION
From the 2.0 release onward, this must be incremented for each incompatible change, e.g.
constexpr uint32_t UNKNOWN_CLIENT_QUEUE_INDEX
constexpr int64_t START_SEQUENCE_ID

Protected Attributes inherited from iox::popo::RpcBaseHeader

Name
uint8_t m_rpcHeaderVersion
uint32_t m_lastKnownClientQueueIndex
cxx::UniqueId m_uniqueClientQueueId
int64_t m_sequenceId

Friends inherited from iox::popo::RpcBaseHeader

Name
class ServerPortUser

Public Functions Documentation🔗

function RequestHeader🔗

explicit RequestHeader(
    const cxx::UniqueId & uniqueClientQueueId,
    const uint32_t lastKnownClientQueueIndex
)

Constructs and initializes a RpcBaseHeader.

Parameters:

  • uniqueClientQueueId is the cxx::UniqueId of the client queue to which the response shall be delivered
  • lastKnownClientQueueIndex is the last know index of the client queue in the ChunkDistributor for fast lookup

function RequestHeader🔗

RequestHeader(
    const RequestHeader & other
)

function operator=🔗

RequestHeader & operator=(
    const RequestHeader & 
)

function RequestHeader🔗

RequestHeader(
    RequestHeader && rhs
) =default

function operator=🔗

RequestHeader & operator=(
    RequestHeader && rhs
) =default

function ~RequestHeader🔗

~RequestHeader() =default

function setSequenceId🔗

void setSequenceId(
    const int64_t sequenceId
)

Sets the sequence ID which is used to match a response to a request.

Parameters:

  • sequenceId is a consecutive number set by the user

Note: The user has to set this manually if multiple requests are sent before a response is read since a server might drop a requests or process the requests out of order and therefore the responses might also be out of order

function fromPayload🔗

static RequestHeader * fromPayload(
    void *const payload
)

function fromPayload🔗

static const RequestHeader * fromPayload(
    const void *const payload
)

Updated on 31 May 2022 at 11:34:55 CEST