iceoryx_posh 2.0.5
|
The UntypedServerImpl class implements the untyped server API. More...
#include <iceoryx_posh/internal/popo/untyped_server_impl.hpp>
Public Member Functions | |
UntypedServerImpl (const capro::ServiceDescription &service, const ServerOptions &serverOptions={}) noexcept | |
UntypedServerImpl (const UntypedServerImpl &)=delete | |
UntypedServerImpl (UntypedServerImpl &&)=delete | |
UntypedServerImpl & | operator= (const UntypedServerImpl &)=delete |
UntypedServerImpl & | operator= (UntypedServerImpl &&)=delete |
cxx::expected< const void *, ServerRequestResult > | take () noexcept |
Take the request chunk from the top of the receive queue. | |
void | releaseRequest (const void *const requestPayload) noexcept |
Releases the ownership of the request chunk provided by the payload pointer. | |
cxx::expected< void *, AllocationError > | loan (const RequestHeader *const requestHeader, const uint32_t payloadSize, const uint32_t payloadAlignment) noexcept |
Get a response chunk from loaned shared memory. | |
cxx::expected< ServerSendError > | send (void *const responsePayload) noexcept |
Sends the provided memory chunk as response to the client. | |
void | releaseResponse (void *const responsePayload) noexcept |
Releases the ownership of the response chunk provided by the payload pointer. | |
![]() | |
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. | |
Additional Inherited Members | |
![]() | |
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 |
The UntypedServerImpl class implements the untyped server API.
UntypedServer
instead!
|
noexcept |
Get a response chunk from loaned shared memory.
[in] | requestHeader | The requestHeader to which the response belongs to, to determine where to send the response |
payloadSize | The expected payload size of the chunk. | |
payloadAlignment | The expected payload alignment of the chunk. |
|
noexcept |
Releases the ownership of the request chunk provided by the payload pointer.
requestPayload | pointer to the payload of the chunk to be released |
The requestPayload 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.
|
noexcept |
Releases the ownership of the response chunk provided by the payload pointer.
responsePayload | pointer to the payload of the chunk to be released |
The responsePayload 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.
|
noexcept |
Sends the provided memory chunk as response to the client.
responsePayload | Pointer to the payload of the allocated shared memory chunk. |
|
noexcept |
Take the request chunk from the top of the receive queue.
No automatic cleanup of the associated chunk is performed and must be manually done by calling releaseRequest