Skip to content

iox::roudi::PortPool🔗

Public Functions🔗

Name
PortPool(PortPoolData & portPoolData)
virtual ~PortPool() =default
cxx::vector< PublisherPortRouDiType::MemberType_t *, MAX_PUBLISHERS > getPublisherPortDataList()
cxx::vector< SubscriberPortType::MemberType_t *, MAX_SUBSCRIBERS > getSubscriberPortDataList()
cxx::vector< popo::InterfacePortData *, MAX_INTERFACE_NUMBER > getInterfacePortDataList()
cxx::vector< popo::ApplicationPortData *, MAX_PROCESS_NUMBER > getApplicationPortDataList()
cxx::vector< runtime::NodeData *, MAX_NODE_NUMBER > getNodeDataList()
cxx::vector< popo::ConditionVariableData *, MAX_NUMBER_OF_CONDITION_VARIABLES > getConditionVariableDataList()
cxx::expected< PublisherPortRouDiType::MemberType_t *, PortPoolError > addPublisherPort(const capro::ServiceDescription & serviceDescription, mepoo::MemoryManager *const memoryManager, const RuntimeName_t & runtimeName, const popo::PublisherOptions & publisherOptions, const mepoo::MemoryInfo & memoryInfo =mepoo::MemoryInfo())
cxx::expected< SubscriberPortType::MemberType_t *, PortPoolError > addSubscriberPort(const capro::ServiceDescription & serviceDescription, const RuntimeName_t & runtimeName, const popo::SubscriberOptions & subscriberOptions, const mepoo::MemoryInfo & memoryInfo =mepoo::MemoryInfo())
template \<typename T ,std::enable_if_t< std::is_same< T, iox::build::ManyToManyPolicy >::value > * =nullptr>
iox::popo::SubscriberPortData *
constructSubscriber(const capro::ServiceDescription & serviceDescription, const RuntimeName_t & runtimeName, const popo::SubscriberOptions & subscriberOptions, const mepoo::MemoryInfo & memoryInfo)
template \<typename T ,std::enable_if_t< std::is_same< T, iox::build::OneToManyPolicy >::value > * =nullptr>
iox::popo::SubscriberPortData *
constructSubscriber(const capro::ServiceDescription & serviceDescription, const RuntimeName_t & runtimeName, const popo::SubscriberOptions & subscriberOptions, const mepoo::MemoryInfo & memoryInfo)
cxx::expected< popo::InterfacePortData *, PortPoolError > addInterfacePort(const RuntimeName_t & runtimeName, const capro::Interfaces interface)
cxx::expected< popo::ApplicationPortData *, PortPoolError > addApplicationPort(const RuntimeName_t & runtimeName)
cxx::expected< runtime::NodeData *, PortPoolError > addNodeData(const RuntimeName_t & runtimeName, const NodeName_t & nodeName, const uint64_t nodeDeviceIdentifier)
cxx::expected< popo::ConditionVariableData *, PortPoolError > addConditionVariableData(const RuntimeName_t & runtimeName)
void removePublisherPort(PublisherPortRouDiType::MemberType_t *const portData)
void removeSubscriberPort(SubscriberPortType::MemberType_t *const portData)
void removeInterfacePort(popo::InterfacePortData *const portData)
void removeApplicationPort(popo::ApplicationPortData *const portData)
void removeNodeData(runtime::NodeData *const nodeData)
void removeConditionVariableData(popo::ConditionVariableData *const conditionVariableData)
std::atomic< uint64_t > * serviceRegistryChangeCounter()

Public Functions Documentation🔗

function PortPool🔗

PortPool(
    PortPoolData & portPoolData
)

function ~PortPool🔗

virtual ~PortPool() =default

function getPublisherPortDataList🔗

cxx::vector< PublisherPortRouDiType::MemberType_t *, MAX_PUBLISHERS > getPublisherPortDataList()

Todo: don't create the vector with each call but only when the data really change there could be a member "cxx::vector<popo::PublisherPortData* m_publisherPorts;" and publisherPorts() would just update this member if the publisher ports actually changed

function getSubscriberPortDataList🔗

cxx::vector< SubscriberPortType::MemberType_t *, MAX_SUBSCRIBERS > getSubscriberPortDataList()

function getInterfacePortDataList🔗

cxx::vector< popo::InterfacePortData *, MAX_INTERFACE_NUMBER > getInterfacePortDataList()

function getApplicationPortDataList🔗

cxx::vector< popo::ApplicationPortData *, MAX_PROCESS_NUMBER > getApplicationPortDataList()

function getNodeDataList🔗

cxx::vector< runtime::NodeData *, MAX_NODE_NUMBER > getNodeDataList()

function getConditionVariableDataList🔗

cxx::vector< popo::ConditionVariableData *, MAX_NUMBER_OF_CONDITION_VARIABLES > getConditionVariableDataList()

function addPublisherPort🔗

cxx::expected< PublisherPortRouDiType::MemberType_t *, PortPoolError > addPublisherPort(
    const capro::ServiceDescription & serviceDescription,
    mepoo::MemoryManager *const memoryManager,
    const RuntimeName_t & runtimeName,
    const popo::PublisherOptions & publisherOptions,
    const mepoo::MemoryInfo & memoryInfo =mepoo::MemoryInfo()
)

function addSubscriberPort🔗

cxx::expected< SubscriberPortType::MemberType_t *, PortPoolError > addSubscriberPort(
    const capro::ServiceDescription & serviceDescription,
    const RuntimeName_t & runtimeName,
    const popo::SubscriberOptions & subscriberOptions,
    const mepoo::MemoryInfo & memoryInfo =mepoo::MemoryInfo()
)

function constructSubscriber🔗

template <typename T ,
std::enable_if_t< std::is_same< T, iox::build::ManyToManyPolicy >::value > *  =nullptr>
inline iox::popo::SubscriberPortData * constructSubscriber(
    const capro::ServiceDescription & serviceDescription,
    const RuntimeName_t & runtimeName,
    const popo::SubscriberOptions & subscriberOptions,
    const mepoo::MemoryInfo & memoryInfo
)

function constructSubscriber🔗

template <typename T ,
std::enable_if_t< std::is_same< T, iox::build::OneToManyPolicy >::value > *  =nullptr>
iox::popo::SubscriberPortData * constructSubscriber(
    const capro::ServiceDescription & serviceDescription,
    const RuntimeName_t & runtimeName,
    const popo::SubscriberOptions & subscriberOptions,
    const mepoo::MemoryInfo & memoryInfo
)

function addInterfacePort🔗

cxx::expected< popo::InterfacePortData *, PortPoolError > addInterfacePort(
    const RuntimeName_t & runtimeName,
    const capro::Interfaces interface
)

function addApplicationPort🔗

cxx::expected< popo::ApplicationPortData *, PortPoolError > addApplicationPort(
    const RuntimeName_t & runtimeName
)

function addNodeData🔗

cxx::expected< runtime::NodeData *, PortPoolError > addNodeData(
    const RuntimeName_t & runtimeName,
    const NodeName_t & nodeName,
    const uint64_t nodeDeviceIdentifier
)

function addConditionVariableData🔗

cxx::expected< popo::ConditionVariableData *, PortPoolError > addConditionVariableData(
    const RuntimeName_t & runtimeName
)

function removePublisherPort🔗

void removePublisherPort(
    PublisherPortRouDiType::MemberType_t *const portData
)

function removeSubscriberPort🔗

void removeSubscriberPort(
    SubscriberPortType::MemberType_t *const portData
)

function removeInterfacePort🔗

void removeInterfacePort(
    popo::InterfacePortData *const portData
)

function removeApplicationPort🔗

void removeApplicationPort(
    popo::ApplicationPortData *const portData
)

function removeNodeData🔗

void removeNodeData(
    runtime::NodeData *const nodeData
)

function removeConditionVariableData🔗

void removeConditionVariableData(
    popo::ConditionVariableData *const conditionVariableData
)

function serviceRegistryChangeCounter🔗

std::atomic< uint64_t > * serviceRegistryChangeCounter()

Updated on 17 June 2021 at 11:15:27 CEST