Skip to content

iox::popo::ClientPortRouDi🔗

The ClientPortRouDi provides the API for accessing a client port from the RouDi middleware daemon side. The client port is divided in the three parts ClientPortData, ClientPortRouDi and ClientPortUser. The ClientPortRouDi 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 <client_port_roudi.hpp>

Inherits from iox::popo::BasePort

Public Types🔗

Name
using ClientPortData MemberType_t

Public Functions🔗

Name
ClientPortRouDi(cxx::not_null< MemberType_t *const > clientPortDataPtr)
ClientPortRouDi(const ClientPortRouDi & other)
ClientPortRouDi & operator=(const ClientPortRouDi & )
ClientPortRouDi(ClientPortRouDi && rhs) =default
ClientPortRouDi & operator=(ClientPortRouDi && rhs) =default
~ClientPortRouDi() =default
cxx::optional< capro::CaproMessage > tryGetCaProMessage()
get an optional CaPro message that requests changes to the desired connection state of the client
cxx::optional< capro::CaproMessage > dispatchCaProMessageAndGetPossibleResponse(const capro::CaproMessage & caProMessage)
dispatch a CaPro message to the client for processing
void releaseAllChunks()
cleanup the client 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::ClientPortRouDi::MemberType_t =  ClientPortData;

Public Functions Documentation🔗

function ClientPortRouDi🔗

explicit ClientPortRouDi(
    cxx::not_null< MemberType_t *const > clientPortDataPtr
)

function ClientPortRouDi🔗

ClientPortRouDi(
    const ClientPortRouDi & other
)

function operator=🔗

ClientPortRouDi & operator=(
    const ClientPortRouDi & 
)

function ClientPortRouDi🔗

ClientPortRouDi(
    ClientPortRouDi && rhs
) =default

function operator=🔗

ClientPortRouDi & operator=(
    ClientPortRouDi && rhs
) =default

function ~ClientPortRouDi🔗

~ClientPortRouDi() =default

function tryGetCaProMessage🔗

cxx::optional< capro::CaproMessage > tryGetCaProMessage()

get an optional CaPro message that requests changes to the desired connection state of the client

Return: CaPro message with desired connection state, empty optional if no state change

function dispatchCaProMessageAndGetPossibleResponse🔗

cxx::optional< capro::CaproMessage > dispatchCaProMessageAndGetPossibleResponse(
    const capro::CaproMessage & caProMessage
)

dispatch a CaPro message to the client 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 client 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