iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader > Class Template Reference

#include <port_factory_publish_subscribe.hpp>

Public Member Functions

 PortFactoryPublishSubscribe (PortFactoryPublishSubscribe &&rhs) noexcept
 
auto operator= (PortFactoryPublishSubscribe &&rhs) noexcept -> PortFactoryPublishSubscribe &
 
 ~PortFactoryPublishSubscribe ()
 
 PortFactoryPublishSubscribe (const PortFactoryPublishSubscribe &)=delete
 
auto operator= (const PortFactoryPublishSubscribe &) -> PortFactoryPublishSubscribe &=delete
 
auto name () const -> ServiceNameView
 Returns the [ServiceName] of the service.
 
auto service_hash () const -> ServiceHash
 Returns the [ServiceHash] of the [Service].
 
auto attributes () const -> AttributeSetView
 Returns the attributes defined in the [Service].
 
auto static_config () const -> StaticConfigPublishSubscribe
 
auto dynamic_config () const -> DynamicConfigPublishSubscribe
 
auto nodes (const iox2::bb::StaticFunction< CallbackProgression(NodeState< S >)> &callback) const -> bb::Expected< void, NodeListFailure >
 
auto subscriber_builder () const -> PortFactorySubscriber< S, Payload, UserHeader >
 Returns a [PortFactorySubscriber] to create a new [Subscriber] port.
 
auto publisher_builder () const -> PortFactoryPublisher< S, Payload, UserHeader >
 Returns a [PortFactoryPublisher] to create a new [Publisher] port.
 
auto try_cleanup_dead_nodes () const -> CleanupState
 
auto blocking_cleanup_dead_nodes (iox2::bb::Duration timeout) const -> CleanupState
 

Friends

template<typename , typename , ServiceType >
class ServiceBuilderPublishSubscribe
 

Detailed Description

template<ServiceType S, typename Payload, typename UserHeader>
class iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >

The factory for [MessagingPattern::PublishSubscribe]. It can acquire dynamic and static service informations and create [Publisher] or [Subscriber] ports.

Definition at line 38 of file port_factory_publish_subscribe.hpp.

Constructor & Destructor Documentation

◆ PortFactoryPublishSubscribe() [1/2]

template<ServiceType S, typename Payload , typename UserHeader >
iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::PortFactoryPublishSubscribe ( PortFactoryPublishSubscribe< S, Payload, UserHeader > &&  rhs)
inlinenoexcept

Definition at line 117 of file port_factory_publish_subscribe.hpp.

◆ ~PortFactoryPublishSubscribe()

template<ServiceType S, typename Payload , typename UserHeader >
iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::~PortFactoryPublishSubscribe ( )
inline

Definition at line 135 of file port_factory_publish_subscribe.hpp.

◆ PortFactoryPublishSubscribe() [2/2]

template<ServiceType S, typename Payload , typename UserHeader >
iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::PortFactoryPublishSubscribe ( const PortFactoryPublishSubscribe< S, Payload, UserHeader > &  )
delete

Member Function Documentation

◆ attributes()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::attributes ( ) const -> AttributeSetView
inline

Returns the attributes defined in the [Service].

Definition at line 158 of file port_factory_publish_subscribe.hpp.

◆ blocking_cleanup_dead_nodes()

template<ServiceType T, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< T, Payload, UserHeader >::blocking_cleanup_dead_nodes ( iox2::bb::Duration  timeout) const -> CleanupState
inline

Removes the stale system resources of all dead [Node]s connected to this service.

If a [Node] cannot be cleaned up since the process has insufficient permissions then the [Node] is skipped. If it is currently being cleaned up by another process then the cleaner will wait until the timeout as either passed or the cleaned was finished.

The timeout is applied to every individual dead [Node] the function needs to wait on.

Definition at line 190 of file port_factory_publish_subscribe.hpp.

References CleanupState::cleanups.

◆ dynamic_config()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::dynamic_config ( ) const -> DynamicConfigPublishSubscribe
inline

Returns the DynamicConfig of the [Service]. Contains all dynamic settings, like the current participants etc..

Definition at line 171 of file port_factory_publish_subscribe.hpp.

◆ name()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::name ( ) const -> ServiceNameView
inline

Returns the [ServiceName] of the service.

Definition at line 140 of file port_factory_publish_subscribe.hpp.

◆ nodes()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::nodes ( const iox2::bb::StaticFunction< CallbackProgression(NodeState< S >)> &  callback) const -> bb::Expected<void, NodeListFailure>
inline

Iterates over all [Node]s of the [Service] and calls for every [Node] the provided callback. If an error occurs while acquiring the [Node]s corresponding [NodeState] the error is forwarded to the callback as input argument.

Definition at line 204 of file port_factory_publish_subscribe.hpp.

References iox2::internal::ctx(), and iox2::bb::err().

◆ operator=() [1/2]

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::operator= ( const PortFactoryPublishSubscribe< S, Payload, UserHeader > &  ) -> PortFactoryPublishSubscribe &=delete
delete

◆ operator=() [2/2]

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::operator= ( PortFactoryPublishSubscribe< S, Payload, UserHeader > &&  rhs) -> PortFactoryPublishSubscribe&
inlinenoexcept

Definition at line 123 of file port_factory_publish_subscribe.hpp.

◆ publisher_builder()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::publisher_builder ( ) const -> PortFactoryPublisher<S, Payload, UserHeader>
inline

Returns a [PortFactoryPublisher] to create a new [Publisher] port.

Definition at line 227 of file port_factory_publish_subscribe.hpp.

◆ service_hash()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::service_hash ( ) const -> ServiceHash
inline

Returns the [ServiceHash] of the [Service].

Definition at line 146 of file port_factory_publish_subscribe.hpp.

◆ static_config()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::static_config ( ) const -> StaticConfigPublishSubscribe
inline

Returns the StaticConfig of the [Service]. Contains all settings that never change during the lifetime of the service.

Definition at line 163 of file port_factory_publish_subscribe.hpp.

References iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::static_config().

Referenced by iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::static_config().

◆ subscriber_builder()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::subscriber_builder ( ) const -> PortFactorySubscriber<S, Payload, UserHeader>
inline

Returns a [PortFactorySubscriber] to create a new [Subscriber] port.

Definition at line 220 of file port_factory_publish_subscribe.hpp.

◆ try_cleanup_dead_nodes()

template<ServiceType S, typename Payload , typename UserHeader >
auto iox2::PortFactoryPublishSubscribe< S, Payload, UserHeader >::try_cleanup_dead_nodes ( ) const -> CleanupState
inline

Removes the stale system resources of all dead [Node]s connected to this service.

If a [Node] cannot be cleaned up since the process has insufficient permissions or it is currently being cleaned up by another process then the [Node] is skipped.

Definition at line 177 of file port_factory_publish_subscribe.hpp.

References CleanupState::cleanups.

Friends And Related Symbol Documentation

◆ ServiceBuilderPublishSubscribe

template<ServiceType S, typename Payload , typename UserHeader >
template<typename , typename , ServiceType >
friend class ServiceBuilderPublishSubscribe
friend

Definition at line 94 of file port_factory_publish_subscribe.hpp.


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