18 #ifndef IOX_POSH_RUNTIME_IPC_RUNTIME_INTERFACE_HPP
19 #define IOX_POSH_RUNTIME_IPC_RUNTIME_INTERFACE_HPP
21 #include "iceoryx_posh/internal/runtime/ipc_interface_creator.hpp"
22 #include "iceoryx_posh/internal/runtime/ipc_interface_user.hpp"
36 const RuntimeName_t& runtimeName,
37 const units::Duration roudiWaitingTimeout) noexcept;
69 enum class RegAckResult
75 void waitForRoudi(cxx::DeadlineTimer& timer) noexcept;
77 RegAckResult waitForRegAck(
const int64_t transmissionTimestamp) noexcept;
80 RuntimeName_t m_runtimeName;
81 cxx::optional<rp::BaseRelativePointer::offset_t> m_segmentManagerAddressOffset;
84 uint64_t m_shmTopicSize{0U};
85 uint64_t m_segmentId{0U};
Class for creating and handling a IPC channel.
Definition: ipc_interface_creator.hpp:31
Class for using a IPC channel.
Definition: ipc_interface_user.hpp:29
Definition: ipc_message.hpp:43
Definition: ipc_runtime_interface.hpp:29
bool sendRequestToRouDi(const IpcMessage &msg, IpcMessage &answer) noexcept
send a request to the RouDi daemon
IpcRuntimeInterface(const RuntimeName_t &roudiName, const RuntimeName_t &runtimeName, const units::Duration roudiWaitingTimeout) noexcept
Runtime Interface for the own IPC channel and the one to the RouDi daemon.
size_t getShmTopicSize() noexcept
get the size of the management shared memory object
bool sendKeepalive() noexcept
sends the keep alive trigger to the RouDi daemon
uint64_t getSegmentId() const noexcept
get the segment id of the shared memory object
rp::BaseRelativePointer::offset_t getSegmentManagerAddressOffset() const noexcept
get the adress offset of the segment manager
Definition: service_description.hpp:29