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