iceoryx_doc  1.0.1
Public Types | Public Member Functions | List of all members
iox::popo::ClientPortRouDi Class Reference

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. More...

#include <client_port_roudi.hpp>

Inheritance diagram for iox::popo::ClientPortRouDi:
Inheritance graph
[legend]
Collaboration diagram for iox::popo::ClientPortRouDi:
Collaboration graph
[legend]

Public Types

using MemberType_t = ClientPortData
 
- Public Types inherited from iox::popo::BasePort
using MemberType_t = BasePortData
 

Public Member Functions

 ClientPortRouDi (cxx::not_null< MemberType_t *const > clientPortDataPtr) noexcept
 
 ClientPortRouDi (const ClientPortRouDi &other)=delete
 
ClientPortRouDioperator= (const ClientPortRouDi &)=delete
 
 ClientPortRouDi (ClientPortRouDi &&rhs)=default
 
ClientPortRouDioperator= (ClientPortRouDi &&rhs)=default
 
cxx::optional< capro::CaproMessagetryGetCaProMessage () noexcept
 get an optional CaPro message that requests changes to the desired connection state of the client More...
 
cxx::optional< capro::CaproMessagedispatchCaProMessageAndGetPossibleResponse (const capro::CaproMessage &caProMessage) noexcept
 dispatch a CaPro message to the client for processing More...
 
void releaseAllChunks () noexcept
 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
 
- Public Member Functions inherited from iox::popo::BasePort
 BasePort (MemberType_t *const basePortDataPtr) noexcept
 
 BasePort (const BasePort &other)=delete
 
BasePortoperator= (const BasePort &)=delete
 
 BasePort (BasePort &&) noexcept
 
BasePortoperator= (BasePort &&) noexcept
 
 operator bool () const noexcept
 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 More...
 
capro::ServiceDescription getCaProServiceDescription () const noexcept
 Reads Type of actual CaPro Port (publisher/subscriber...) More...
 
RuntimeName_t getRuntimeName () const noexcept
 Gets name of the application's runtime for the active port. More...
 
UniquePortId getUniqueID () const noexcept
 Gets Id of the active port. More...
 
NodeName_t getNodeName () const noexcept
 returns node name for the active port More...
 
void destroy () noexcept
 Indicate that this port can be destroyed.
 
bool toBeDestroyed () const noexcept
 Checks whether port can be destroyed. More...
 

Additional Inherited Members

- Protected Member Functions inherited from iox::popo::BasePort
const MemberType_tgetMembers () const noexcept
 
MemberType_tgetMembers () noexcept
 

Detailed Description

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.

Member Function Documentation

◆ dispatchCaProMessageAndGetPossibleResponse()

cxx::optional<capro::CaproMessage> iox::popo::ClientPortRouDi::dispatchCaProMessageAndGetPossibleResponse ( const capro::CaproMessage caProMessage)
noexcept

dispatch a CaPro message to the client for processing

Parameters
[in]caProMessageto process
Returns
CaPro message with an immediate response the provided CaPro message, empty optional if no response

◆ tryGetCaProMessage()

cxx::optional<capro::CaproMessage> iox::popo::ClientPortRouDi::tryGetCaProMessage ( )
noexcept

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

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

The documentation for this class was generated from the following file: