Class PoshRuntimeImpl
Defined in File posh_runtime_impl.hpp
Inheritance Relationships
Base Type
public iox::runtime::PoshRuntime(Class PoshRuntime)
Derived Type
public iox::runtime::PoshRuntimeSingleProcess(Class PoshRuntimeSingleProcess)
Class Documentation
-
class PoshRuntimeImpl : public iox::runtime::PoshRuntime
The runtime that is needed for each application to communicate with the RouDi daemon.
Subclassed by iox::runtime::PoshRuntimeSingleProcess
Public Functions
-
PoshRuntimeImpl(const PoshRuntimeImpl&) = delete
-
PoshRuntimeImpl &operator=(const PoshRuntimeImpl&) = delete
-
PoshRuntimeImpl(PoshRuntimeImpl&&) = delete
-
PoshRuntimeImpl &operator=(PoshRuntimeImpl&&) = delete
-
virtual ~PoshRuntimeImpl() noexcept
-
virtual PublisherPortUserType::MemberType_t *getMiddlewarePublisher(const capro::ServiceDescription &service, const popo::PublisherOptions &publisherOptions = popo::PublisherOptions(), const PortConfigInfo &portConfigInfo = PortConfigInfo()) noexcept override
request the RouDi daemon to create a publisher port
- Parameters:
serviceDescription – [in] service description for the new publisher port
publisherOptions – [in] like the history capacity of a publisher
portConfigInfo – [in] configuration information for the port (i.e. what type of port is requested, device where its payload memory is located on etc.)
- Returns:
pointer to a created publisher port user
-
virtual SubscriberPortUserType::MemberType_t *getMiddlewareSubscriber(const capro::ServiceDescription &service, const popo::SubscriberOptions &subscriberOptions = popo::SubscriberOptions(), const PortConfigInfo &portConfigInfo = PortConfigInfo()) noexcept override
request the RouDi daemon to create a subscriber port
- Parameters:
serviceDescription – [in] service description for the new subscriber port
subscriberOptions – [in] like the queue capacity and history requested by a subscriber
portConfigInfo – [in] configuration information for the port (what type of port is requested, device where its payload memory is located on etc.)
- Returns:
pointer to a created subscriber port data
-
virtual popo::ClientPortUser::MemberType_t *getMiddlewareClient(const capro::ServiceDescription &service, const popo::ClientOptions &clientOptions = {}, const PortConfigInfo &portConfigInfo = PortConfigInfo()) noexcept override
request the RouDi daemon to create a client port
- Parameters:
serviceDescription – [in] service description for the new client port
clientOptions – [in] like the queue capacity and queue full policy by a client
portConfigInfo – [in] configuration information for the port (what type of port is requested, device where its payload memory is located on etc.)
- Returns:
pointer to a created client port data
-
virtual popo::ServerPortUser::MemberType_t *getMiddlewareServer(const capro::ServiceDescription &service, const popo::ServerOptions &ServerOptions = {}, const PortConfigInfo &portConfigInfo = PortConfigInfo()) noexcept override
request the RouDi daemon to create a server port
- Parameters:
serviceDescription – [in] service description for the new server port
serverOptions – [in] like the queue capacity and queue full policy by a server
portConfigInfo – [in] configuration information for the port (what type of port is requested, device where its payload memory is located on etc.)
- Returns:
pointer to a created server port data
-
virtual popo::InterfacePortData *getMiddlewareInterface(const capro::Interfaces interface, const NodeName_t &nodeName = {""}) noexcept override
request the RouDi daemon to create an interface port
- Parameters:
interface – [in] interface to create
nodeName – [in] name of the node where the interface should belong to
- Returns:
pointer to a created interface port data
-
virtual popo::ConditionVariableData *getMiddlewareConditionVariable() noexcept override
request the RouDi daemon to create a condition variable
- Returns:
pointer to a created condition variable data
-
virtual NodeData *createNode(const NodeProperty &nodeProperty) noexcept override
request the RouDi daemon to create a node
- Parameters:
nodeProperty – [in] class which contains all properties which the node should have
- Returns:
pointer to the data of the node
-
virtual bool sendRequestToRouDi(const IpcMessage &msg, IpcMessage &answer) noexcept override
send a request to the RouDi daemon and get the response currently each request is followed by a response
- Parameters:
msg – [in] request message to send
response – [out] from the RouDi daemon
- Returns:
true if sucessful request/response, false on error
Protected Functions
-
PoshRuntimeImpl(cxx::optional<const RuntimeName_t*> name, const RuntimeLocation location = RuntimeLocation::SEPARATE_PROCESS_FROM_ROUDI) noexcept
Friends
- friend class PoshRuntime
- friend class roudi::RuntimeTestInterface
-
PoshRuntimeImpl(const PoshRuntimeImpl&) = delete