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

This class handles the mempool intropection for RouDi. It is recommended to use the MemPoolIntrospectionType alias which sets the intended template parameters required for the actual introspection. The class sends snapshots of the mempool usage to the introspection client if subscribed. More...

#include <mempool_introspection.hpp>

Public Member Functions

 MemPoolIntrospection (MemoryManager &rouDiInternalMemoryManager, SegmentManager &segmentManager, PublisherPort &&publisherPort)
 The constructor for the MemPoolIntrospection. It starts a thread and set it into a wait condition. More...
 
 MemPoolIntrospection (MemPoolIntrospection const &)=delete
 
MemPoolIntrospectionoperator= (MemPoolIntrospection const &)=delete
 
 MemPoolIntrospection (MemPoolIntrospection &&)=delete
 
MemPoolIntrospectionoperator= (MemPoolIntrospection &&)=delete
 
void run () noexcept
 This function starts the periodic transmission of snapshots of the mempool introspecton data. The send interval can be set by setSendInterval(...). By default it's 1 second.
 
void stop () noexcept
 This function stops the thread which sends the introspection data. It is not possible to start the thread again.
 
void setSendInterval (const units::Duration interval) noexcept
 This function configures the interval for the transmission of the mempool introspection data. More...
 

Protected Member Functions

void send () noexcept
 

Protected Attributes

MemoryManager * m_rouDiInternalMemoryManager {nullptr}
 
SegmentManager * m_segmentManager {nullptr}
 
PublisherPort m_publisherPort {nullptr}
 

Detailed Description

template<typename MemoryManager, typename SegmentManager, typename PublisherPort>
class iox::roudi::MemPoolIntrospection< MemoryManager, SegmentManager, PublisherPort >

This class handles the mempool intropection for RouDi. It is recommended to use the MemPoolIntrospectionType alias which sets the intended template parameters required for the actual introspection. The class sends snapshots of the mempool usage to the introspection client if subscribed.

Constructor & Destructor Documentation

◆ MemPoolIntrospection()

template<typename MemoryManager , typename SegmentManager , typename PublisherPort >
iox::roudi::MemPoolIntrospection< MemoryManager, SegmentManager, PublisherPort >::MemPoolIntrospection ( MemoryManager &  rouDiInternalMemoryManager,
SegmentManager &  segmentManager,
PublisherPort &&  publisherPort 
)
inline

The constructor for the MemPoolIntrospection. It starts a thread and set it into a wait condition.

Parameters
[in]rouDiInternalMemoryManageris the internal RouDi memory manager
[in]segmentManagercontains the shared memory segments and their memory pools which will be intropected
[in]publisherPortis the publisher port for transmission of the introspection data

Member Function Documentation

◆ setSendInterval()

template<typename MemoryManager , typename SegmentManager , typename PublisherPort >
void iox::roudi::MemPoolIntrospection< MemoryManager, SegmentManager, PublisherPort >::setSendInterval ( const units::Duration  interval)
inlinenoexcept

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

Parameters
[in]intervalduration between two send invocations

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