Class RouDiApp

Inheritance Relationships

Derived Type

Class Documentation

class RouDiApp

base class for RouDi daemons

Subclassed by iox::roudi::IceOryxRouDiApp

Public Functions

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

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

Parameters:
  • cmdLineParser[in] reference to a command line parser object

  • config[in] the configuration to use

inline virtual ~RouDiApp() noexcept
virtual uint8_t run() noexcept = 0

interface to start the execution of the RouDi daemon

Returns:

Return code for programm execution

Public Static Functions

static void roudiSigHandler(int32_t signal) noexcept

Method passed to the OS signal handler.

Protected Functions

void registerSigHandler() noexcept

Tells the OS which signals shall be hooked.

bool waitForSignal() noexcept

waits for the next signal to RouDi daemon

Protected Attributes

iox::log::LogLevel m_logLevel = {iox::log::LogLevel::kWarn}
roudi::MonitoringMode m_monitoringMode = {roudi::MonitoringMode::ON}
bool m_run = {true}
RouDiConfig_t m_config
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())
version::CompatibilityCheckLevel m_compatibilityCheckLevel = {version::CompatibilityCheckLevel::PATCH}
units::Duration m_processKillDelay = {roudi::PROCESS_DEFAULT_KILL_DELAY}