iceoryx_doc  1.0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
iox::roudi::ProcessIntrospection< PublisherPort > Class Template Reference

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 Member Functions

 ProcessIntrospection (ProcessIntrospection const &)=delete
 
ProcessIntrospectionoperator= (ProcessIntrospection const &)=delete
 
 ProcessIntrospection (ProcessIntrospection &&)=delete
 
ProcessIntrospectionoperator= (ProcessIntrospection &&)=delete
 
void addProcess (const int pid, const RuntimeName_t &name) noexcept
 This function is used to add a process to the process introspection. More...
 
void removeProcess (const int pid) noexcept
 This function is used to remove the process from the process introspection. More...
 
void addNode (const RuntimeName_t &runtimeName, const NodeName_t &node) noexcept
 This function is used to add a node to the process introspection. More...
 
void removeNode (const RuntimeName_t &runtimeName, const NodeName_t &node) noexcept
 This function is used to remove a node from the process introspection. More...
 
void registerPublisherPort (PublisherPort &&publisherPort) noexcept
 This functions registers the POSH publisher port which is used to send the data to the instrospcetion client. More...
 
void run () noexcept
 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 () noexcept
 This function stops the thread previously started by run().
 
void setSendInterval (const units::Duration interval) noexcept
 This function configures the interval for the transmission of the port introspection data. More...
 

Protected Member Functions

void send () noexcept
 

Protected Attributes

cxx::optional< PublisherPort > m_publisherPort
 

Detailed Description

template<typename PublisherPort>
class iox::roudi::ProcessIntrospection< PublisherPort >

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.

Member Function Documentation

◆ addNode()

template<typename PublisherPort >
void iox::roudi::ProcessIntrospection< PublisherPort >::addNode ( const RuntimeName_t &  runtimeName,
const NodeName_t &  node 
)
inlinenoexcept

This function is used to add a node to the process introspection.

Parameters
[in]runtimeNameis the name of the proces
[in]nodeNameis the name of the node to add

◆ addProcess()

template<typename PublisherPort >
void iox::roudi::ProcessIntrospection< PublisherPort >::addProcess ( const int  pid,
const RuntimeName_t &  name 
)
inlinenoexcept

This function is used to add a process to the process introspection.

Parameters
[in]pidis the PID of the process to add
[in]nameis the name of the process

◆ registerPublisherPort()

template<typename PublisherPort >
void iox::roudi::ProcessIntrospection< PublisherPort >::registerPublisherPort ( PublisherPort &&  publisherPort)
inlinenoexcept

This functions registers the POSH publisher port which is used to send the data to the instrospcetion client.

Parameters
publisherPortis the publisher port for transmission

◆ removeNode()

template<typename PublisherPort >
void iox::roudi::ProcessIntrospection< PublisherPort >::removeNode ( const RuntimeName_t &  runtimeName,
const NodeName_t &  node 
)
inlinenoexcept

This function is used to remove a node from the process introspection.

Parameters
[in]runtimeNameis the name of the proces
[in]nodeNameis the name of the node to remove

◆ removeProcess()

template<typename PublisherPort >
void iox::roudi::ProcessIntrospection< PublisherPort >::removeProcess ( const int  pid)
inlinenoexcept

This function is used to remove the process from the process introspection.

Parameters
[in]pidis the PID of the process to remove

◆ setSendInterval()

template<typename PublisherPort >
void iox::roudi::ProcessIntrospection< PublisherPort >::setSendInterval ( const units::Duration  interval)
inlinenoexcept

This function configures the interval for the transmission of the port introspection data.

Parameters
[in]intervalduration between two send invocations.

The documentation for this class was generated from the following files: