iox::roudi::PortManager🔗
Public Types🔗
Name | |
---|---|
using iox::runtime::PortConfigInfo | PortConfigInfo |
Public Functions🔗
Name | |
---|---|
PortManager(RouDiMemoryInterface * roudiMemoryInterface) | |
virtual | ~PortManager() =default |
void | stopPortIntrospection() |
void | doDiscovery() |
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) |
cxx::expected< SubscriberPortType::MemberType_t *, PortPoolError > | acquireSubscriberPortData(const capro::ServiceDescription & service, const popo::SubscriberOptions & subscriberOptions, const RuntimeName_t & runtimeName, const PortConfigInfo & portConfigInfo) |
popo::InterfacePortData * | acquireInterfacePortData(capro::Interfaces interface, const RuntimeName_t & runtimeName, const NodeName_t & nodeName ={""}) |
popo::ApplicationPortData * | acquireApplicationPortData(const RuntimeName_t & runtimeName) |
cxx::expected< runtime::NodeData *, PortPoolError > | acquireNodeData(const RuntimeName_t & runtimeName, const NodeName_t & nodeName) |
cxx::expected< popo::ConditionVariableData *, PortPoolError > | acquireConditionVariableData(const RuntimeName_t & runtimeName) |
void | unblockProcessShutdown(const RuntimeName_t & runtimeName) Used to unblock potential locks in the shutdown phase of a process. |
void | unblockRouDiShutdown() Used to unblock potential locks in the shutdown phase of RouDi. |
void | deletePortsOfProcess(const RuntimeName_t & runtimeName) |
const std::atomic< uint64_t > * | serviceRegistryChangeCounter() |
runtime::IpcMessage | findService(const capro::ServiceDescription & service) |
Protected Functions🔗
Name | |
---|---|
void | makeAllPublisherPortsToStopOffer() |
void | destroyPublisherPort(PublisherPortRouDiType::MemberType_t *const publisherPortData) |
void | destroySubscriberPort(SubscriberPortType::MemberType_t *const subscriberPortData) |
void | handlePublisherPorts() |
void | doDiscoveryForPublisherPort(PublisherPortRouDiType & publisherPort) |
void | handleSubscriberPorts() |
void | doDiscoveryForSubscriberPort(SubscriberPortType & subscriberPort) |
void | handleInterfaces() |
void | handleApplications() |
void | handleNodes() |
void | handleConditionVariables() |
bool | sendToAllMatchingPublisherPorts(const capro::CaproMessage & message, SubscriberPortType & subscriberSource) |
void | sendToAllMatchingSubscriberPorts(const capro::CaproMessage & message, PublisherPortRouDiType & publisherSource) |
void | sendToAllMatchingInterfacePorts(const capro::CaproMessage & message) |
void | addEntryToServiceRegistry(const capro::IdString_t & service, const capro::IdString_t & instance) |
void | removeEntryFromServiceRegistry(const capro::IdString_t & service, const capro::IdString_t & instance) |
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 |
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 |
Public Types Documentation🔗
using PortConfigInfo🔗
using iox::roudi::PortManager::PortConfigInfo = iox::runtime::PortConfigInfo;
Public Functions Documentation🔗
function PortManager🔗
PortManager(
RouDiMemoryInterface * roudiMemoryInterface
)
function ~PortManager🔗
virtual ~PortManager() =default
function stopPortIntrospection🔗
void stopPortIntrospection()
Todo: Remove this later
function doDiscovery🔗
void doDiscovery()
function acquirePublisherPortData🔗
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
)
function acquireSubscriberPortData🔗
cxx::expected< SubscriberPortType::MemberType_t *, PortPoolError > acquireSubscriberPortData(
const capro::ServiceDescription & service,
const popo::SubscriberOptions & subscriberOptions,
const RuntimeName_t & runtimeName,
const PortConfigInfo & portConfigInfo
)
function acquireInterfacePortData🔗
popo::InterfacePortData * acquireInterfacePortData(
capro::Interfaces interface,
const RuntimeName_t & runtimeName,
const NodeName_t & nodeName ={""}
)
function acquireApplicationPortData🔗
popo::ApplicationPortData * acquireApplicationPortData(
const RuntimeName_t & runtimeName
)
function acquireNodeData🔗
cxx::expected< runtime::NodeData *, PortPoolError > acquireNodeData(
const RuntimeName_t & runtimeName,
const NodeName_t & nodeName
)
function acquireConditionVariableData🔗
cxx::expected< popo::ConditionVariableData *, PortPoolError > acquireConditionVariableData(
const RuntimeName_t & runtimeName
)
function unblockProcessShutdown🔗
void unblockProcessShutdown(
const RuntimeName_t & runtimeName
)
Used to unblock potential locks in the shutdown phase of a process.
Parameters:
- name of the process runtime which is about to shut down
function unblockRouDiShutdown🔗
void unblockRouDiShutdown()
Used to unblock potential locks in the shutdown phase of RouDi.
function deletePortsOfProcess🔗
void deletePortsOfProcess(
const RuntimeName_t & runtimeName
)
function serviceRegistryChangeCounter🔗
const std::atomic< uint64_t > * serviceRegistryChangeCounter()
function findService🔗
runtime::IpcMessage findService(
const capro::ServiceDescription & service
)
Protected Functions Documentation🔗
function makeAllPublisherPortsToStopOffer🔗
void makeAllPublisherPortsToStopOffer()
function destroyPublisherPort🔗
void destroyPublisherPort(
PublisherPortRouDiType::MemberType_t *const publisherPortData
)
function destroySubscriberPort🔗
void destroySubscriberPort(
SubscriberPortType::MemberType_t *const subscriberPortData
)
function handlePublisherPorts🔗
void handlePublisherPorts()
function doDiscoveryForPublisherPort🔗
void doDiscoveryForPublisherPort(
PublisherPortRouDiType & publisherPort
)
function handleSubscriberPorts🔗
void handleSubscriberPorts()
function doDiscoveryForSubscriberPort🔗
void doDiscoveryForSubscriberPort(
SubscriberPortType & subscriberPort
)
function handleInterfaces🔗
void handleInterfaces()
function handleApplications🔗
void handleApplications()
function handleNodes🔗
void handleNodes()
function handleConditionVariables🔗
void handleConditionVariables()
function sendToAllMatchingPublisherPorts🔗
bool sendToAllMatchingPublisherPorts(
const capro::CaproMessage & message,
SubscriberPortType & subscriberSource
)
function sendToAllMatchingSubscriberPorts🔗
void sendToAllMatchingSubscriberPorts(
const capro::CaproMessage & message,
PublisherPortRouDiType & publisherSource
)
function sendToAllMatchingInterfacePorts🔗
void sendToAllMatchingInterfacePorts(
const capro::CaproMessage & message
)
function addEntryToServiceRegistry🔗
void addEntryToServiceRegistry(
const capro::IdString_t & service,
const capro::IdString_t & instance
)
function removeEntryFromServiceRegistry🔗
void removeEntryFromServiceRegistry(
const capro::IdString_t & service,
const capro::IdString_t & instance
)
function doesViolateCommunicationPolicy🔗
template <typename T ,
std::enable_if_t< std::is_same< T, iox::build::OneToManyPolicy >::value > * =nullptr>
inline cxx::optional< RuntimeName_t > doesViolateCommunicationPolicy(
const capro::ServiceDescription & service
) const
function doesViolateCommunicationPolicy🔗
template <typename T ,
std::enable_if_t< std::is_same< T, iox::build::ManyToManyPolicy >::value > * =nullptr>
inline cxx::optional< RuntimeName_t > doesViolateCommunicationPolicy(
const capro::ServiceDescription &service IOX_MAYBE_UNUSED
) const
Updated on 31 May 2022 at 15:29:16 CEST