17#ifndef IOX_POSH_POPO_UNTYPED_SERVER_IMPL_HPP
18#define IOX_POSH_POPO_UNTYPED_SERVER_IMPL_HPP
20#include "iceoryx_posh/capro/service_description.hpp"
21#include "iceoryx_posh/internal/popo/base_server.hpp"
22#include "iceoryx_posh/popo/server_options.hpp"
30template <
typename BaseServerT = BaseServer<>>
47 cxx::expected<const void*, ServerRequestResult>
take() noexcept;
65 const uint32_t payloadSize,
66 const uint32_t payloadAlignment) noexcept;
71 cxx::expected<ServerSendError>
send(
void* const responsePayload) noexcept;
81 using BaseServerT::
port;
86#include "iceoryx_posh/internal/popo/untyped_server_impl.inl"
class for the identification of a communication event including information on the service,...
Definition: service_description.hpp:81
const PortT & port() const noexcept
port
The UntypedServerImpl class implements the untyped server API.
Definition: untyped_server_impl.hpp:32
void releaseResponse(void *const responsePayload) noexcept
Releases the ownership of the response chunk provided by the payload pointer.
void releaseRequest(const void *const requestPayload) noexcept
Releases the ownership of the request chunk provided by the payload pointer.
cxx::expected< const void *, ServerRequestResult > take() noexcept
Take the request chunk from the top of the receive queue.
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.
This struct is used to configure the server.
Definition: server_options.hpp:33