Skip to main content

tier_level_by

Function tier_level_by 

Source
pub fn tier_level_by(
    n: usize,
    index: usize,
    smaller_is_urgent: bool,
    priority_of: impl Fn(usize) -> i64,
) -> Option<u8>
Expand description

phase-509 P7 (RFC-0108 D8) – which level an executor is, and whether every level of the image is alive: what a supervisor that owns a route per level or feeds a watchdog reads, and what a board’s tier runner states (the level count, and each tier’s level by tier_level_by). Plain atomics in nros-node, so ungated. The level of tier index of an image whose n tiers have the kernel priorities priority_of(0..n): its urgency order, 0 the most urgent, equal priorities in array order. Until phase-509 P9 a level is a tier, so this is how a runner places each tier’s executor (Executor::set_level). nros codegen entry writes NROS_ENTRY_LEVEL_OF_<node> by the same rule, over the same array. None when index is out of range.