iox::roudi::ProcessIntrospection🔗
This class handles the process intropection for RouDi. It is recommended to use the ProcessIntrospectionType alias which sets the intended template parameter. The class tracks the adding and removal of processes and sends it to the introspection client if subscribed. More...
#include <process_introspection.hpp>
Public Functions🔗
Name | |
---|---|
ProcessIntrospection() | |
~ProcessIntrospection() | |
ProcessIntrospection(ProcessIntrospection const & ) | |
ProcessIntrospection & | operator=(ProcessIntrospection const & ) |
ProcessIntrospection(ProcessIntrospection && ) | |
ProcessIntrospection & | operator=(ProcessIntrospection && ) |
void | addProcess(const int pid, const RuntimeName_t & name) This function is used to add a process to the process introspection. |
void | removeProcess(const int pid) This function is used to remove the process from the process introspection. |
void | addNode(const RuntimeName_t & runtimeName, const NodeName_t & node) This function is used to add a node to the process introspection. |
void | removeNode(const RuntimeName_t & runtimeName, const NodeName_t & node) This function is used to remove a node from the process introspection. |
void | registerPublisherPort(PublisherPort && publisherPort) This functions registers the POSH publisher port which is used to send the data to the instrospcetion client. |
void | run() This function starts a thread which periodically sends the introspection data to the client. The send interval can be set by setSendInterval(...). Before this function is called, the publisher port hast to be registered with registerPublisherPort(). |
void | stop() This function stops the thread previously started by run(). |
void | setSendInterval(const units::Duration interval) This function configures the interval for the transmission of the port introspection data. |
Protected Functions🔗
Name | |
---|---|
void | send() |
Protected Attributes🔗
Name | |
---|---|
cxx::optional< PublisherPort > | m_publisherPort |
Detailed Description🔗
template <typename PublisherPort >
class iox::roudi::ProcessIntrospection;
This class handles the process intropection for RouDi. It is recommended to use the ProcessIntrospectionType alias which sets the intended template parameter. The class tracks the adding and removal of processes and sends it to the introspection client if subscribed.
Public Functions Documentation🔗
function ProcessIntrospection🔗
inline ProcessIntrospection()
function ~ProcessIntrospection🔗
inline ~ProcessIntrospection()
function ProcessIntrospection🔗
ProcessIntrospection(
ProcessIntrospection const &
)
function operator=🔗
ProcessIntrospection & operator=(
ProcessIntrospection const &
)
function ProcessIntrospection🔗
ProcessIntrospection(
ProcessIntrospection &&
)
function operator=🔗
ProcessIntrospection & operator=(
ProcessIntrospection &&
)
function addProcess🔗
inline void addProcess(
const int pid,
const RuntimeName_t & name
)
This function is used to add a process to the process introspection.
Parameters:
- pid is the PID of the process to add
- name is the name of the process
function removeProcess🔗
inline void removeProcess(
const int pid
)
This function is used to remove the process from the process introspection.
Parameters:
- pid is the PID of the process to remove
function addNode🔗
inline void addNode(
const RuntimeName_t & runtimeName,
const NodeName_t & node
)
This function is used to add a node to the process introspection.
Parameters:
- runtimeName is the name of the proces
- nodeName is the name of the node to add
function removeNode🔗
inline void removeNode(
const RuntimeName_t & runtimeName,
const NodeName_t & node
)
This function is used to remove a node from the process introspection.
Parameters:
- runtimeName is the name of the proces
- nodeName is the name of the node to remove
function registerPublisherPort🔗
inline void registerPublisherPort(
PublisherPort && publisherPort
)
This functions registers the POSH publisher port which is used to send the data to the instrospcetion client.
Parameters:
- publisherPort is the publisher port for transmission
function run🔗
inline void run()
This function starts a thread which periodically sends the introspection data to the client. The send interval can be set by setSendInterval(...). Before this function is called, the publisher port hast to be registered with registerPublisherPort().
function stop🔗
inline void stop()
This function stops the thread previously started by run().
function setSendInterval🔗
inline void setSendInterval(
const units::Duration interval
)
This function configures the interval for the transmission of the port introspection data.
Parameters:
- interval duration between two send invocations.
Protected Functions Documentation🔗
function send🔗
inline void send()
Protected Attributes Documentation🔗
variable m_publisherPort🔗
cxx::optional< PublisherPort > m_publisherPort;
Updated on 31 May 2022 at 15:29:16 CEST