iceoryx_doc
1.0.1
|
The runtime that is needed for each application to communicate with the RouDi daemon. More...
#include <posh_runtime.hpp>
Public Member Functions | |
RuntimeName_t | getInstanceName () const noexcept |
get the name that was used to register with RouDi More... | |
void | shutdown () noexcept |
initiates the shutdown of the runtime to unblock all potentially blocking publisher with the SubscriberTooSlowPolicy::WAIT_FOR_SUBSCRIBER option set | |
cxx::expected< InstanceContainer, FindServiceError > | findService (const capro::ServiceDescription &serviceDescription) noexcept |
find all services that match the provided service description More... | |
bool | offerService (const capro::ServiceDescription &serviceDescription) noexcept |
offer the provided service, sends the offer from application to RouDi daemon More... | |
void | stopOfferService (const capro::ServiceDescription &serviceDescription) noexcept |
stop offering the provided service More... | |
PublisherPortUserType::MemberType_t * | getMiddlewarePublisher (const capro::ServiceDescription &service, const popo::PublisherOptions &publisherOptions=popo::PublisherOptions(), const PortConfigInfo &portConfigInfo=PortConfigInfo()) noexcept |
request the RouDi daemon to create a publisher port More... | |
SubscriberPortUserType::MemberType_t * | getMiddlewareSubscriber (const capro::ServiceDescription &service, const popo::SubscriberOptions &subscriberOptions=popo::SubscriberOptions(), const PortConfigInfo &portConfigInfo=PortConfigInfo()) noexcept |
request the RouDi daemon to create a subscriber port More... | |
popo::InterfacePortData * | getMiddlewareInterface (const capro::Interfaces interface, const NodeName_t &nodeName={""}) noexcept |
request the RouDi daemon to create an interface port More... | |
popo::ApplicationPortData * | getMiddlewareApplication () noexcept |
request the RouDi daemon to create an application port More... | |
popo::ConditionVariableData * | getMiddlewareConditionVariable () noexcept |
request the RouDi daemon to create a condition variable More... | |
NodeData * | createNode (const NodeProperty &nodeProperty) noexcept |
request the RouDi daemon to create a node More... | |
const std::atomic< uint64_t > * | getServiceRegistryChangeCounter () noexcept |
requests the serviceRegistryChangeCounter from the shared memory More... | |
bool | sendRequestToRouDi (const IpcMessage &msg, IpcMessage &answer) noexcept |
send a request to the RouDi daemon and get the response currently each request is followed by a response More... | |
PoshRuntime (const PoshRuntime &)=delete | |
PoshRuntime & | operator= (const PoshRuntime &)=delete |
PoshRuntime (PoshRuntime &&)=delete | |
PoshRuntime & | operator= (PoshRuntime &&)=delete |
Static Public Member Functions | |
static PoshRuntime & | getInstance () noexcept |
returns active runtime More... | |
static PoshRuntime & | initRuntime (const RuntimeName_t &name) noexcept |
creates the runtime with given name More... | |
Protected Types | |
using | factory_t = PoshRuntime &(*)(cxx::optional< const RuntimeName_t * >) |
Protected Member Functions | |
PoshRuntime (cxx::optional< const RuntimeName_t * > name, const bool doMapSharedMemoryIntoThread=true) noexcept | |
Static Protected Member Functions | |
static PoshRuntime & | defaultRuntimeFactory (cxx::optional< const RuntimeName_t * > name) noexcept |
static RuntimeName_t & | defaultRuntimeInstanceName () noexcept |
static factory_t & | getRuntimeFactory () noexcept |
gets current runtime factory. If the runtime factory is not yet initialized it is set to defaultRuntimeFactory. More... | |
static void | setRuntimeFactory (const factory_t &factory) noexcept |
sets runtime factory, terminates if given factory is empty More... | |
static PoshRuntime & | getInstance (cxx::optional< const RuntimeName_t * > name) noexcept |
creates the runtime or returns the already existing one -> Singleton More... | |
Friends | |
class | roudi::RuntimeTestInterface |
The runtime that is needed for each application to communicate with the RouDi daemon.
|
noexcept |
request the RouDi daemon to create a node
[in] | nodeProperty | class which contains all properties which the node should have |
|
noexcept |
find all services that match the provided service description
[in] | serviceDescription | service to search for |
|
staticnoexcept |
returns active runtime
|
staticprotectednoexcept |
creates the runtime or returns the already existing one -> Singleton
[in] | name | optional containing the name used for registering with the RouDi daemon |
|
noexcept |
get the name that was used to register with RouDi
|
noexcept |
request the RouDi daemon to create an application port
|
noexcept |
request the RouDi daemon to create a condition variable
|
noexcept |
request the RouDi daemon to create an interface port
[in] | interface | interface to create |
[in] | nodeName | name of the node where the interface should belong to |
|
noexcept |
request the RouDi daemon to create a publisher port
[in] | serviceDescription | service description for the new publisher port |
[in] | publisherOptions | like the history capacity of a publisher |
[in] | portConfigInfo | configuration information for the port (i.e. what type of port is requested, device where its payload memory is located on etc.) |
|
noexcept |
request the RouDi daemon to create a subscriber port
[in] | serviceDescription | service description for the new subscriber port |
[in] | subscriberOptions | like the queue capacity and history requested by a subscriber |
[in] | portConfigInfo | configuration information for the port (what type of port is requested, device where its payload memory is located on etc.) |
|
staticprotectednoexcept |
gets current runtime factory. If the runtime factory is not yet initialized it is set to defaultRuntimeFactory.
|
noexcept |
requests the serviceRegistryChangeCounter from the shared memory
|
staticnoexcept |
creates the runtime with given name
[in] | name | used for registering the process with the RouDi daemon |
|
noexcept |
offer the provided service, sends the offer from application to RouDi daemon
[in] | serviceDescription | service to offer |
|
noexcept |
send a request to the RouDi daemon and get the response currently each request is followed by a response
[in] | msg | request message to send |
[out] | response | from the RouDi daemon |
|
staticprotectednoexcept |
sets runtime factory, terminates if given factory is empty
[in] | factory | std::function to which the runtime factory should be set |
|
noexcept |
stop offering the provided service
[in] | serviceDescription | of the service that shall be no more offered |