iox::popo::ServerPortRouDi🔗
The ServerPortRouDi provides the API for accessing a server port from the RouDi middleware daemon side. The server port is divided in the three parts ServerPortData, ServerPortRouDi and ServerPortUser. The ServerPortRouDi provides service discovery functionality that is based on CaPro messages. With this API the dynamic connections between clients and servers ports can be established.
#include <server_port_roudi.hpp>
Inherits from iox::popo::BasePort
Public Types🔗
Name | |
---|---|
using ServerPortData | MemberType_t |
Public Functions🔗
Name | |
---|---|
ServerPortRouDi(cxx::not_null< MemberType_t *const > serverPortDataPtr) | |
ServerPortRouDi(const ServerPortRouDi & other) | |
ServerPortRouDi & | operator=(const ServerPortRouDi & ) |
ServerPortRouDi(ServerPortRouDi && rhs) =default | |
ServerPortRouDi & | operator=(ServerPortRouDi && rhs) =default |
~ServerPortRouDi() =default | |
cxx::optional< capro::CaproMessage > | tryGetCaProMessage() get an optional CaPro message that changes the offer state of the server |
cxx::optional< capro::CaproMessage > | dispatchCaProMessageAndGetPossibleResponse(const capro::CaproMessage & caProMessage) dispatch a CaPro message to the server for processing |
void | releaseAllChunks() cleanup the server and release all the chunks it currently holds Caution: Contract is that user process is no more running when cleanup is called |
Additional inherited members🔗
Public Functions inherited from iox::popo::BasePort
Name | |
---|---|
BasePort(MemberType_t *const basePortDataPtr) | |
BasePort(const BasePort & other) | |
BasePort(BasePort && ) | |
virtual | ~BasePort() =default |
operator bool() const a port can be constructed from a nullptr, additionally it also can be moved and in these cases the member methods would work on a nullptr. to circumvent this problem |
|
capro::ServiceDescription | getCaProServiceDescription() const Reads Type of actual CaPro Port (publisher/subscriber...) |
RuntimeName_t | getRuntimeName() const Gets name of the application's runtime for the active port. |
UniquePortId | getUniqueID() const Gets Id of the active port. |
NodeName_t | getNodeName() const returns node name for the active port |
void | destroy() Indicate that this port can be destroyed. |
bool | toBeDestroyed() const Checks whether port can be destroyed. |
Public Types Documentation🔗
using MemberType_t🔗
using iox::popo::ServerPortRouDi::MemberType_t = ServerPortData;
Public Functions Documentation🔗
function ServerPortRouDi🔗
explicit ServerPortRouDi(
cxx::not_null< MemberType_t *const > serverPortDataPtr
)
function ServerPortRouDi🔗
ServerPortRouDi(
const ServerPortRouDi & other
)
function operator=🔗
ServerPortRouDi & operator=(
const ServerPortRouDi &
)
function ServerPortRouDi🔗
ServerPortRouDi(
ServerPortRouDi && rhs
) =default
function operator=🔗
ServerPortRouDi & operator=(
ServerPortRouDi && rhs
) =default
function ~ServerPortRouDi🔗
~ServerPortRouDi() =default
function tryGetCaProMessage🔗
cxx::optional< capro::CaproMessage > tryGetCaProMessage()
get an optional CaPro message that changes the offer state of the server
Return: CaPro message with the new offer state, empty optional if no state change
function dispatchCaProMessageAndGetPossibleResponse🔗
cxx::optional< capro::CaproMessage > dispatchCaProMessageAndGetPossibleResponse(
const capro::CaproMessage & caProMessage
)
dispatch a CaPro message to the server for processing
Parameters:
- caProMessage to process
Return: CaPro message with an immediate response the provided CaPro message, empty optional if no response
function releaseAllChunks🔗
void releaseAllChunks()
cleanup the server and release all the chunks it currently holds Caution: Contract is that user process is no more running when cleanup is called
Updated on 31 May 2022 at 15:29:16 CEST