17 #ifndef IOX_POSH_ROUDI_PROCESS_HPP
18 #define IOX_POSH_ROUDI_PROCESS_HPP
20 #include "iceoryx_posh/internal/mepoo/segment_manager.hpp"
21 #include "iceoryx_posh/internal/roudi/introspection/process_introspection.hpp"
22 #include "iceoryx_posh/internal/roudi/port_manager.hpp"
23 #include "iceoryx_posh/internal/runtime/ipc_interface_user.hpp"
24 #include "iceoryx_posh/mepoo/chunk_header.hpp"
25 #include "iceoryx_posh/version/compatibility_check_level.hpp"
26 #include "iceoryx_posh/version/version_info.hpp"
27 #include "iceoryx_utils/cxx/list.hpp"
28 #include "iceoryx_utils/error_handling/error_handling.hpp"
29 #include "iceoryx_utils/posix_wrapper/posix_access_rights.hpp"
50 const posix::PosixUser& user,
51 const bool isMonitored,
52 const uint64_t sessionId) noexcept;
61 uint32_t getPid() const noexcept;
63 const RuntimeName_t getName() const noexcept;
65 void sendViaIpcChannel(const runtime::IpcMessage& data) noexcept;
71 void setTimestamp(const mepoo::TimePointNs_t timestamp) noexcept;
73 mepoo::TimePointNs_t getTimestamp() noexcept;
75 posix::PosixUser getUser() const noexcept;
77 bool isMonitored() const noexcept;
80 const uint32_t m_pid{0U};
82 mepoo::TimePointNs_t m_timestamp;
83 posix::PosixUser m_user;
84 bool m_isMonitored{
true};
85 std::atomic<uint64_t> m_sessionId{0U};
Definition: process.hpp:39
Process(const RuntimeName_t &name, const uint32_t pid, const posix::PosixUser &user, const bool isMonitored, const uint64_t sessionId) noexcept
This class represents an application which has registered at RouDi and manages the communication to t...
uint64_t getSessionId() noexcept
The session ID which is used to check outdated IPC channel transmissions for this process.
Process(Process &&other)=delete
Class for using a IPC channel.
Definition: ipc_interface_user.hpp:29
Definition: service_description.hpp:29