|
| ServerImpl (const capro::ServiceDescription &service, const ServerOptions &serverOptions={}) noexcept |
| Constructor for a sserver.
|
|
| ServerImpl (const ServerImpl &)=delete |
|
| ServerImpl (ServerImpl &&)=delete |
|
ServerImpl & | operator= (const ServerImpl &)=delete |
|
ServerImpl & | operator= (ServerImpl &&)=delete |
|
cxx::expected< Request< const Req >, ServerRequestResult > | take () noexcept |
| Take the Request from the top of the receive queue.
|
|
template<typename... Args> |
cxx::expected< Response< Res >, AllocationError > | loan (const Request< const Req > &request, Args &&... args) noexcept |
| Get a Response from loaned shared memory and construct the data with the given arguments.
|
|
cxx::expected< ServerSendError > | send (Response< Res > &&response) noexcept override |
| Sends the given Response and then releases its loan.
|
|
| BaseServer (const BaseServer &other)=delete |
|
BaseServer & | operator= (const BaseServer &)=delete |
|
| BaseServer (BaseServer &&rhs)=delete |
|
BaseServer & | operator= (BaseServer &&rhs)=delete |
|
uid_t | getUid () const noexcept |
| Get the UID of the server.
|
|
const capro::ServiceDescription & | getServiceDescription () const noexcept |
| Get the service description of the server.
|
|
void | offer () noexcept |
| Offer the service to be connected to when not already offering, otherwise nothing.
|
|
void | stopOffer () noexcept |
| Stop offering the service when already offering, otherwise nothing.
|
|
bool | isOffered () const noexcept |
| Check if the server is offering.
|
|
bool | hasClients () const noexcept |
| Check if the server has clients.
|
|
bool | hasRequests () const noexcept |
| Check if requests are available.
|
|
bool | hasMissedRequests () noexcept |
| Check if requests has been missed since the last call of this method.
|
|
void | releaseQueuedRequests () noexcept |
| Releases any unread queued requests.
|
|
|
using | SelfType = BaseServer<PortT, TriggerHandleT> |
|
using | PortType = PortT |
|
| BaseServer (const capro::ServiceDescription &service, const ServerOptions &serverOptions) 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 ServerState serverState) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Attaches the triggerHandle to the internal trigger.
|
|
WaitSetIsConditionSatisfiedCallback | getCallbackForIsStateConditionSatisfied (const ServerState serverState) 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 ServerState serverState) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Resets the internal triggerHandle.
|
|
void | enableEvent (TriggerHandleT &&triggerHandle, const ServerEvent serverEvent) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Attaches the triggerHandle to the internal trigger.
|
|
void | disableEvent (const ServerEvent serverEvent) noexcept |
| Only usable by the WaitSet/Listener, not for public use. Resets the internal triggerHandle.
|
|
const PortT & | port () const noexcept |
| port
|
|
PortT & | port () noexcept |
| port
|
|
PortT | m_port |
|
TriggerHandleT | m_trigger |
|
template<typename Req, typename Res, typename BaseServerT = BaseServer<>>
class iox::popo::ServerImpl< Req, Res, BaseServerT >
The ServerImpl class implements the typed server API.
- Note
- Not intended for public usage! Use the
Server
instead!
template<typename Req , typename Res , typename BaseServerT = BaseServer<>>
template<typename... Args>
Get a Response from loaned shared memory and construct the data with the given arguments.
- Parameters
-
[in] | request | The request to which the Response belongs to, to determine where to send the response |
[in] | args | Arguments used to construct the data. |
- Returns
- An instance of the Response that resides in shared memory or an error if unable to allocate memory to loan.
The loaned Response is automatically released when it goes out of scope.