iceoryx_doc  1.0.1
Public Types | Public Member Functions | Protected Member Functions | List of all members
iox::roudi::PortManager Class Reference

Public Types

using PortConfigInfo = iox::runtime::PortConfigInfo
 

Public Member Functions

 PortManager (RouDiMemoryInterface *roudiMemoryInterface) noexcept
 
void stopPortIntrospection () noexcept
 
void doDiscovery () noexcept
 
cxx::expected< PublisherPortRouDiType::MemberType_t *, PortPoolError > acquirePublisherPortData (const capro::ServiceDescription &service, const popo::PublisherOptions &publisherOptions, const RuntimeName_t &runtimeName, mepoo::MemoryManager *const payloadDataSegmentMemoryManager, const PortConfigInfo &portConfigInfo) noexcept
 
cxx::expected< SubscriberPortType::MemberType_t *, PortPoolError > acquireSubscriberPortData (const capro::ServiceDescription &service, const popo::SubscriberOptions &subscriberOptions, const RuntimeName_t &runtimeName, const PortConfigInfo &portConfigInfo) noexcept
 
popo::InterfacePortDataacquireInterfacePortData (capro::Interfaces interface, const RuntimeName_t &runtimeName, const NodeName_t &nodeName={""}) noexcept
 
popo::ApplicationPortDataacquireApplicationPortData (const RuntimeName_t &runtimeName) noexcept
 
cxx::expected< runtime::NodeData *, PortPoolError > acquireNodeData (const RuntimeName_t &runtimeName, const NodeName_t &nodeName) noexcept
 
cxx::expected< popo::ConditionVariableData *, PortPoolError > acquireConditionVariableData (const RuntimeName_t &runtimeName) noexcept
 
void unblockProcessShutdown (const RuntimeName_t &runtimeName) noexcept
 Used to unblock potential locks in the shutdown phase of a process. More...
 
void unblockRouDiShutdown () noexcept
 Used to unblock potential locks in the shutdown phase of RouDi.
 
void deletePortsOfProcess (const RuntimeName_t &runtimeName) noexcept
 
const std::atomic< uint64_t > * serviceRegistryChangeCounter () noexcept
 
runtime::IpcMessage findService (const capro::ServiceDescription &service) noexcept
 

Protected Member Functions

void makeAllPublisherPortsToStopOffer () noexcept
 
void destroyPublisherPort (PublisherPortRouDiType::MemberType_t *const publisherPortData) noexcept
 
void destroySubscriberPort (SubscriberPortType::MemberType_t *const subscriberPortData) noexcept
 
void handlePublisherPorts () noexcept
 
void doDiscoveryForPublisherPort (PublisherPortRouDiType &publisherPort) noexcept
 
void handleSubscriberPorts () noexcept
 
void doDiscoveryForSubscriberPort (SubscriberPortType &subscriberPort) noexcept
 
void handleInterfaces () noexcept
 
void handleApplications () noexcept
 
void handleNodes () noexcept
 
void handleConditionVariables () noexcept
 
bool sendToAllMatchingPublisherPorts (const capro::CaproMessage &message, SubscriberPortType &subscriberSource) noexcept
 
void sendToAllMatchingSubscriberPorts (const capro::CaproMessage &message, PublisherPortRouDiType &publisherSource) noexcept
 
void sendToAllMatchingInterfacePorts (const capro::CaproMessage &message) noexcept
 
void addEntryToServiceRegistry (const capro::IdString_t &service, const capro::IdString_t &instance) noexcept
 
void removeEntryFromServiceRegistry (const capro::IdString_t &service, const capro::IdString_t &instance) noexcept
 
template<typename T , std::enable_if_t< std::is_same< T, iox::build::OneToManyPolicy >::value > * = nullptr>
cxx::optional< RuntimeName_t > doesViolateCommunicationPolicy (const capro::ServiceDescription &service) const noexcept
 
template<typename T , std::enable_if_t< std::is_same< T, iox::build::ManyToManyPolicy >::value > * = nullptr>
cxx::optional< RuntimeName_t > doesViolateCommunicationPolicy (const capro::ServiceDescription &service IOX_MAYBE_UNUSED) const noexcept
 

Member Function Documentation

◆ stopPortIntrospection()

void iox::roudi::PortManager::stopPortIntrospection ( )
noexcept
Todo:
Remove this later

◆ unblockProcessShutdown()

void iox::roudi::PortManager::unblockProcessShutdown ( const RuntimeName_t &  runtimeName)
noexcept

Used to unblock potential locks in the shutdown phase of a process.

Parameters
[in]nameof the process runtime which is about to shut down

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