Skip to content

iox::roudi::RouDiApp🔗

base class for RouDi daemons

#include <roudi_app.hpp>

Inherited by iox::roudi::IceOryxRouDiApp

Public Functions🔗

Name
void roudiSigHandler(int32_t signal)
Method passed to the OS signal handler.
RouDiApp(const config::CmdLineArgs_t & cmdLineArgs, const RouDiConfig_t & config)
C'tor with command line parser, which has already parsed the command line parameters.
virtual ~RouDiApp()
virtual uint8_t run() =0
interface to start the execution of the RouDi daemon

Protected Functions🔗

Name
void registerSigHandler()
Tells the OS which signals shall be hooked.
bool waitForSignal() const
waits for the next signal to RouDi daemon

Protected Attributes🔗

Name
iox::log::LogLevel m_logLevel
roudi::MonitoringMode m_monitoringMode
bool m_run
RouDiConfig_t m_config
posix::Semaphore m_semaphore
version::CompatibilityCheckLevel m_compatibilityCheckLevel
units::Duration m_processKillDelay

Public Functions Documentation🔗

function roudiSigHandler🔗

static void roudiSigHandler(
    int32_t signal
)

Method passed to the OS signal handler.

function RouDiApp🔗

RouDiApp(
    const config::CmdLineArgs_t & cmdLineArgs,
    const RouDiConfig_t & config
)

C'tor with command line parser, which has already parsed the command line parameters.

Parameters:

  • cmdLineParser reference to a command line parser object
  • config the configuration to use

function ~RouDiApp🔗

inline virtual ~RouDiApp()

function run🔗

virtual uint8_t run() =0

interface to start the execution of the RouDi daemon

Return: Return code for programm execution

Reimplemented by: iox::roudi::IceOryxRouDiApp::run

Protected Functions Documentation🔗

function registerSigHandler🔗

void registerSigHandler()

Tells the OS which signals shall be hooked.

function waitForSignal🔗

bool waitForSignal() const

waits for the next signal to RouDi daemon

Protected Attributes Documentation🔗

variable m_logLevel🔗

iox::log::LogLevel m_logLevel {iox::log::LogLevel::kWarn};

variable m_monitoringMode🔗

roudi::MonitoringMode m_monitoringMode {roudi::MonitoringMode::ON};

variable m_run🔗

bool m_run {true};

variable m_config🔗

RouDiConfig_t m_config;

variable m_semaphore🔗

posix::Semaphore m_semaphore =
        std::move(posix::Semaphore::create(posix::CreateUnnamedSingleProcessSemaphore, 0u)
                      .or_else([](posix::SemaphoreError&) {
                          errorHandler(Error::kROUDI_APP__FAILED_TO_CREATE_SEMAPHORE, nullptr, ErrorLevel::FATAL);
                      })
                      .value());

variable m_compatibilityCheckLevel🔗

version::CompatibilityCheckLevel m_compatibilityCheckLevel {version::CompatibilityCheckLevel::PATCH};

variable m_processKillDelay🔗

units::Duration m_processKillDelay {roudi::PROCESS_DEFAULT_KILL_DELAY};

Updated on 31 May 2022 at 15:29:16 CEST