Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::SchedulerGroupConfig Struct Reference

A scheduler group with its own rate and priority. More...

#include <SimulatorConfig.hpp>

Public Member Functions

 SchedulerGroupConfig ()=default
 SchedulerGroupConfig (std::string n, double rate, int prio=0)
bool IsActiveInPhase (int32_t current_phase) const
 Check if group should execute in given phase (empty = all phases).

Public Attributes

std::string name
double rate_hz = 400.0
 Must be integer divisor of simulation rate.
int priority = 0
 Execution order relative to other groups.
std::vector< GroupMembermembers
std::set< int32_t > active_phases
 Phase gating: if non-empty, group only executes when current phase is in this set.

Detailed Description

A scheduler group with its own rate and priority.

Constructor & Destructor Documentation

◆ SchedulerGroupConfig() [1/2]

icarus::SchedulerGroupConfig::SchedulerGroupConfig ( )
default

◆ SchedulerGroupConfig() [2/2]

icarus::SchedulerGroupConfig::SchedulerGroupConfig ( std::string n,
double rate,
int prio = 0 )
inline

Member Function Documentation

◆ IsActiveInPhase()

bool icarus::SchedulerGroupConfig::IsActiveInPhase ( int32_t current_phase) const
inlinenodiscard

Check if group should execute in given phase (empty = all phases).

Member Data Documentation

◆ active_phases

std::set<int32_t> icarus::SchedulerGroupConfig::active_phases

Phase gating: if non-empty, group only executes when current phase is in this set.

◆ members

std::vector<GroupMember> icarus::SchedulerGroupConfig::members

◆ name

std::string icarus::SchedulerGroupConfig::name

◆ priority

int icarus::SchedulerGroupConfig::priority = 0

Execution order relative to other groups.

◆ rate_hz

double icarus::SchedulerGroupConfig::rate_hz = 400.0

Must be integer divisor of simulation rate.


The documentation for this struct was generated from the following file: