The UntypedClientImpl class implements the untyped client API.
More...
#include <iceoryx_posh/internal/popo/untyped_client_impl.hpp>
|
using | SelfType = BaseClient< PortT, TriggerHandleT > |
|
using | PortType = PortT |
|
| BaseClient (const capro::ServiceDescription &service, const ClientOptions &clientOptions) noexcept |
|
void | invalidateTrigger (const uint64_t uniqueTriggerId) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Invalidates the internal triggerHandle.
|
|
void | enableState (TriggerHandleT &&triggerHandle, const ClientState clientState) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Attaches the triggerHandle to the internal trigger.
|
|
WaitSetIsConditionSatisfiedCallback | getCallbackForIsStateConditionSatisfied (const ClientState clientState) const noexcept |
| Only usable by the WaitSet/Listener, not for public use. Returns method pointer to the event corresponding hasTriggered method callback.
|
|
void | disableState (const ClientState clientState) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Resets the internal triggerHandle.
|
|
void | enableEvent (TriggerHandleT &&triggerHandle, const ClientEvent clientEvent) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Attaches the triggerHandle to the internal trigger.
|
|
void | disableEvent (const ClientEvent clientEvent) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Resets the internal triggerHandle.
|
|
const PortT & | port () const noexcept |
| const accessor of the underlying port
|
|
PortT & | port () noexcept |
| accessor of the underlying port
|
|
PortT | m_port |
|
TriggerHandleT | m_trigger |
|
template<
typename BaseClientT = BaseClient<>>
class iox::popo::UntypedClientImpl< BaseClientT >
The UntypedClientImpl class implements the untyped client API.
- Note
- Not intended for public usage! Use the
UntypedClient
instead!
◆ loan()
Get a request chunk from loaned shared memory.
- Parameters
-
payloadSize | The expected payload size of the chunk. |
payloadAlignment | The expected payload alignment of the chunk. |
- Returns
- A pointer to the payload of a chunk of memory with the requested size or an AllocationError if no chunk could be loaned.
- Note
- An AllocationError occurs if no chunk is available in the shared memory.
◆ releaseRequest()
Releases the ownership of the request chunk provided by the payload pointer.
- Parameters
-
requestPayload | pointer to the payload of the chunk to be released |
The requestPayload pointer must have been previously provided by loan
and not have been already released. The chunk must not be accessed afterwards as its memory may have been reclaimed.
◆ releaseResponse()
Releases the ownership of the response chunk provided by the payload pointer.
- Parameters
-
responsePayload | pointer to the payload of the chunk to be released |
The responsePayload pointer must have been previously provided by take
and not have been already released. The chunk must not be accessed afterwards as its memory may have been reclaimed.
◆ send()
Sends the provided memory chunk as request to the server.
- Parameters
-
requestPayload | Pointer to the payload of the allocated shared memory chunk. |
- Returns
- Error if sending was not successful
◆ take()
Take the response chunk from the top of the receive queue.
- Returns
- The payload pointer of the request chunk taken.
No automatic cleanup of the associated chunk is performed and must be manually done by calling releaseResponse
The documentation for this class was generated from the following file: