iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2::PortFactoryBlackboard< S, KeyType > Class Template Reference

Represents the port factory of a [Service] with [MessagingPattern::Blackboard]. More...

#include <port_factory_blackboard.hpp>

Public Member Functions

 PortFactoryBlackboard (PortFactoryBlackboard &&rhs) noexcept
 
auto operator= (PortFactoryBlackboard &&rhs) noexcept -> PortFactoryBlackboard &
 
 ~PortFactoryBlackboard ()
 
 PortFactoryBlackboard (const PortFactoryBlackboard &)=delete
 
auto operator= (const PortFactoryBlackboard &) -> PortFactoryBlackboard &=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 -> StaticConfigBlackboard
 
auto dynamic_config () const -> DynamicConfigBlackboard
 
auto nodes (const iox2::bb::StaticFunction< CallbackProgression(NodeState< S >)> &callback) const -> bb::Expected< void, NodeListFailure >
 
auto writer_builder () const -> PortFactoryWriter< S, KeyType >
 Returns a [PortFactoryWriter] to create a new [Writer] port.
 
auto reader_builder () const -> PortFactoryReader< S, KeyType >
 Returns a [PortFactoryReader] to create a new [Reader] port.
 
void list_keys (const iox2::bb::StaticFunction< CallbackProgression(const KeyType &)> &callback) const
 
auto try_cleanup_dead_nodes () const -> CleanupState
 
auto blocking_cleanup_dead_nodes (iox2::bb::Duration timeout) const -> CleanupState
 

Friends

template<typename , ServiceType >
class ServiceBuilderBlackboardOpener
 
template<typename , ServiceType >
class ServiceBuilderBlackboardCreator
 

Detailed Description

template<ServiceType S, typename KeyType>
class iox2::PortFactoryBlackboard< S, KeyType >

Represents the port factory of a [Service] with [MessagingPattern::Blackboard].

Definition at line 36 of file port_factory_blackboard.hpp.

Constructor & Destructor Documentation

◆ PortFactoryBlackboard() [1/2]

template<ServiceType S, typename KeyType >
iox2::PortFactoryBlackboard< S, KeyType >::PortFactoryBlackboard ( PortFactoryBlackboard< S, KeyType > &&  rhs)
inlinenoexcept

Definition at line 120 of file port_factory_blackboard.hpp.

◆ ~PortFactoryBlackboard()

template<ServiceType S, typename KeyType >
iox2::PortFactoryBlackboard< S, KeyType >::~PortFactoryBlackboard ( )
inline

Definition at line 137 of file port_factory_blackboard.hpp.

◆ PortFactoryBlackboard() [2/2]

template<ServiceType S, typename KeyType >
iox2::PortFactoryBlackboard< S, KeyType >::PortFactoryBlackboard ( const PortFactoryBlackboard< S, KeyType > &  )
delete

Member Function Documentation

◆ attributes()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::attributes ( ) const -> AttributeSetView
inline

Returns the attributes defined in the [Service].

Definition at line 160 of file port_factory_blackboard.hpp.

◆ blocking_cleanup_dead_nodes()

template<ServiceType T, typename KeyType >
auto iox2::PortFactoryBlackboard< T, KeyType >::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 206 of file port_factory_blackboard.hpp.

References CleanupState::cleanups.

◆ dynamic_config()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::dynamic_config ( ) const -> DynamicConfigBlackboard
inline

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

Definition at line 173 of file port_factory_blackboard.hpp.

◆ list_keys()

template<ServiceType S, typename KeyType >
void iox2::PortFactoryBlackboard< S, KeyType >::list_keys ( const iox2::bb::StaticFunction< CallbackProgression(const KeyType &)> &  callback) const
inline

Iterates over all keys of the [Service] and calls for every key the provided callback.

Definition at line 237 of file port_factory_blackboard.hpp.

◆ name()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::name ( ) const -> ServiceNameView
inline

Returns the [ServiceName] of the service.

Definition at line 142 of file port_factory_blackboard.hpp.

◆ nodes()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::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 178 of file port_factory_blackboard.hpp.

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

◆ operator=() [1/2]

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::operator= ( const PortFactoryBlackboard< S, KeyType > &  ) -> PortFactoryBlackboard &=delete
delete

◆ operator=() [2/2]

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::operator= ( PortFactoryBlackboard< S, KeyType > &&  rhs) -> PortFactoryBlackboard&
inlinenoexcept

Definition at line 125 of file port_factory_blackboard.hpp.

◆ reader_builder()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::reader_builder ( ) const -> PortFactoryReader<S, KeyType>
inline

Returns a [PortFactoryReader] to create a new [Reader] port.

Definition at line 225 of file port_factory_blackboard.hpp.

◆ service_hash()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::service_hash ( ) const -> ServiceHash
inline

Returns the [ServiceHash] of the [Service].

Definition at line 148 of file port_factory_blackboard.hpp.

◆ static_config()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::static_config ( ) const -> StaticConfigBlackboard
inline

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

Definition at line 165 of file port_factory_blackboard.hpp.

References iox2::PortFactoryBlackboard< S, KeyType >::static_config().

Referenced by iox2::PortFactoryBlackboard< S, KeyType >::static_config().

◆ try_cleanup_dead_nodes()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::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 194 of file port_factory_blackboard.hpp.

References CleanupState::cleanups.

◆ writer_builder()

template<ServiceType S, typename KeyType >
auto iox2::PortFactoryBlackboard< S, KeyType >::writer_builder ( ) const -> PortFactoryWriter<S, KeyType>
inline

Returns a [PortFactoryWriter] to create a new [Writer] port.

Definition at line 220 of file port_factory_blackboard.hpp.

Friends And Related Symbol Documentation

◆ ServiceBuilderBlackboardCreator

template<ServiceType S, typename KeyType >
template<typename , ServiceType >
friend class ServiceBuilderBlackboardCreator
friend

Definition at line 98 of file port_factory_blackboard.hpp.

◆ ServiceBuilderBlackboardOpener

template<ServiceType S, typename KeyType >
template<typename , ServiceType >
friend class ServiceBuilderBlackboardOpener
friend

Definition at line 96 of file port_factory_blackboard.hpp.


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