The ClientImpl class implements the typed client API.
More...
#include <iceoryx_posh/internal/popo/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. More...
|
|
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. More...
|
|
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. More...
|
|
void | disableState (const ClientState clientState) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Resets the internal triggerHandle. More...
|
|
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. More...
|
|
void | disableEvent (const ClientEvent clientEvent) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Resets the internal triggerHandle. More...
|
|
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 Req, typename Res, typename BaseClientT = BaseClient<>>
class iox::popo::ClientImpl< Req, Res, BaseClientT >
The ClientImpl class implements the typed client API.
- Note
- Not intended for public usage! Use the
Client
instead!
◆ ClientImpl()
template<typename Req , typename Res , typename BaseClientT = BaseClient<>>
Constructor for a client.
- Parameters
-
[in] | service | is the ServiceDescription for the new client |
[in] | clientOptions | like the queue capacity and queue full policy by a client |
◆ loan()
template<typename Req , typename Res , typename BaseClientT = BaseClient<>>
template<typename... Args>
Get a Request from loaned shared memory and construct the data with the given arguments.
- Parameters
-
[in] | args | Arguments used to construct the data. |
- Returns
- An instance of the Request that resides in shared memory or an error if unable to allocate memory to loan.
The loaned Request is automatically released when it goes out of scope.
◆ send()
template<typename Req , typename Res , typename BaseClientT = BaseClient<>>
Sends the given Request and then releases its loan.
- Parameters
-
- Returns
- Error if sending was not successful
◆ take()
template<typename Req , typename Res , typename BaseClientT = BaseClient<>>
Take the Response from the top of the receive queue.
- Returns
- Either a Response or a ChunkReceiveResult.
The Response takes care of the cleanup. Don't store the raw pointer to the content of the Response, but always the whole Response.
The documentation for this class was generated from the following file: