iceoryx2
C++ Language Bindings
Loading...
Searching...
No Matches
iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > Class Template Reference

#include <port_factory_request_response.hpp>

Public Member Functions

 PortFactoryRequestResponse (PortFactoryRequestResponse &&rhs) noexcept
 
auto operator= (PortFactoryRequestResponse &&rhs) noexcept -> PortFactoryRequestResponse &
 
 ~PortFactoryRequestResponse ()
 
 PortFactoryRequestResponse (const PortFactoryRequestResponse &)=delete
 
auto operator= (const PortFactoryRequestResponse &) -> PortFactoryRequestResponse &=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 -> StaticConfigRequestResponse
 
auto dynamic_config () const -> DynamicConfigRequestResponse
 
auto nodes (const iox2::bb::StaticFunction< CallbackProgression(NodeState< Service >)> &callback) const -> bb::Expected< void, NodeListFailure >
 
auto client_builder () const -> PortFactoryClient< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >
 
auto server_builder () const -> PortFactoryServer< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >
 
auto try_cleanup_dead_nodes () const -> CleanupState
 
auto blocking_cleanup_dead_nodes (iox2::bb::Duration timeout) const -> CleanupState
 

Friends

template<typename , typename , typename , typename , ServiceType >
class ServiceBuilderRequestResponse
 

Detailed Description

template<ServiceType Service, typename RequestPayload, typename RequestUserHeader, typename ResponsePayload, typename ResponseUserHeader>
class iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >

The factory for [MessagingPattern::RequestResponse]. It can acquire dynamic and static service informations and create [crate::port::client::Client] or [crate::port::server::Server] ports.

Definition at line 42 of file port_factory_request_response.hpp.

Constructor & Destructor Documentation

◆ PortFactoryRequestResponse() [1/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::PortFactoryRequestResponse ( PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&  rhs)
inlinenoexcept

Definition at line 115 of file port_factory_request_response.hpp.

◆ ~PortFactoryRequestResponse()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::~PortFactoryRequestResponse ( )
inline

Definition at line 142 of file port_factory_request_response.hpp.

◆ PortFactoryRequestResponse() [2/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::PortFactoryRequestResponse ( const PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &  )
delete

Member Function Documentation

◆ attributes()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::attributes ( ) const -> AttributeSetView
inline

Returns the attributes defined in the [Service].

Definition at line 183 of file port_factory_request_response.hpp.

◆ blocking_cleanup_dead_nodes()

template<ServiceType T, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< T, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::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 256 of file port_factory_request_response.hpp.

References CleanupState::cleanups.

◆ client_builder()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::client_builder ( ) const -> PortFactoryClient<Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader>
inline

Returns a [PortFactoryClient] to create a new [crate::port::client::Client] port.

Definition at line 275 of file port_factory_request_response.hpp.

◆ dynamic_config()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::dynamic_config ( ) const -> DynamicConfigRequestResponse
inline

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

Definition at line 208 of file port_factory_request_response.hpp.

◆ name()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::name ( ) const -> ServiceNameView
inline

Returns the [ServiceName] of the service.

Definition at line 153 of file port_factory_request_response.hpp.

◆ nodes()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::nodes ( const iox2::bb::StaticFunction< CallbackProgression(NodeState< Service >)> &  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 219 of file port_factory_request_response.hpp.

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

◆ operator=() [1/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::operator= ( const PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &  ) -> PortFactoryRequestResponse &=delete
delete

◆ operator=() [2/2]

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::operator= ( PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader > &&  rhs) -> PortFactoryRequestResponse&
inlinenoexcept

Definition at line 126 of file port_factory_request_response.hpp.

◆ server_builder()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::server_builder ( ) const -> PortFactoryServer<Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader>
inline

Returns a [PortFactoryServer] to create a new [crate::port::server::Server] port.

Definition at line 288 of file port_factory_request_response.hpp.

◆ service_hash()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::service_hash ( ) const -> ServiceHash
inline

Returns the [ServiceHash] of the [Service].

Definition at line 165 of file port_factory_request_response.hpp.

◆ static_config()

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< Service, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::static_config ( ) const -> StaticConfigRequestResponse
inline

◆ try_cleanup_dead_nodes()

template<ServiceType S, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
auto iox2::PortFactoryRequestResponse< S, RequestPayload, RequestUserHeader, ResponsePayload, ResponseUserHeader >::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 239 of file port_factory_request_response.hpp.

References CleanupState::cleanups.

Friends And Related Symbol Documentation

◆ ServiceBuilderRequestResponse

template<ServiceType Service, typename RequestPayload , typename RequestUserHeader , typename ResponsePayload , typename ResponseUserHeader >
template<typename , typename , typename , typename , ServiceType >
friend class ServiceBuilderRequestResponse
friend

Definition at line 102 of file port_factory_request_response.hpp.


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