Skip to content

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 17 June 2021 at 11:15:27 CEST