Skip to content

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 26 April 2021 at 15:31:02 CEST