pub struct CuMonitoringMetadata { /* private fields */ }Expand description
Immutable runtime-provided metadata passed once to CuMonitor::new.
This bundles identifiers, deterministic component layout, and monitor-specific config so monitor construction is explicit and does not need ad-hoc late setters.
Implementations§
Source§impl CuMonitoringMetadata
impl CuMonitoringMetadata
pub fn new( mission_id: CompactString, components: &'static [MonitorComponentMetadata], culist_component_mapping: &'static [ComponentId], copperlist_info: CopperListInfo, topology: MonitorTopology, monitor_config: Option<ComponentConfig>, ) -> CuResult<Self>
Sourcepub fn mission_id(&self) -> &str
pub fn mission_id(&self) -> &str
Active mission identifier for this runtime instance.
Sourcepub fn components(&self) -> &'static [MonitorComponentMetadata]
pub fn components(&self) -> &'static [MonitorComponentMetadata]
Canonical table of monitored runtime components.
Ordering is deterministic and mission-scoped: tasks first, then bridge-side components.
Sourcepub const fn component_count(&self) -> usize
pub const fn component_count(&self) -> usize
Total number of monitored components.
Sourcepub const fn layout(&self) -> CopperListLayout
pub const fn layout(&self) -> CopperListLayout
Static runtime layout used to map CopperList slots to components.
pub fn component( &self, component_id: ComponentId, ) -> &'static MonitorComponentMetadata
pub fn component_id(&self, component_id: ComponentId) -> &'static str
pub fn component_kind(&self, component_id: ComponentId) -> ComponentType
pub fn component_index_by_id(&self, component_id: &str) -> Option<ComponentId>
Sourcepub fn culist_component_mapping(&self) -> &'static [ComponentId]
pub fn culist_component_mapping(&self) -> &'static [ComponentId]
CopperList slot -> monitored component index mapping.
This table maps each CopperList slot index to the producing component index.
pub fn component_for_culist_slot(&self, culist_slot: CuListSlot) -> ComponentId
pub fn copperlist_view<'a>( &self, msgs: &'a [&'a CuMsgMetadata], ) -> CopperListView<'a>
pub const fn copperlist_info(&self) -> CopperListInfo
Sourcepub fn topology(&self) -> &MonitorTopology
pub fn topology(&self) -> &MonitorTopology
Resolved graph topology for the active mission.
This is always available. Nodes represent config graph nodes, not every synthetic bridge
channel entry in components().
pub fn monitor_config(&self) -> Option<&ComponentConfig>
pub fn with_monitor_config( self, monitor_config: Option<ComponentConfig>, ) -> Self
Trait Implementations§
Source§impl Clone for CuMonitoringMetadata
impl Clone for CuMonitoringMetadata
Source§fn clone(&self) -> CuMonitoringMetadata
fn clone(&self) -> CuMonitoringMetadata
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CuMonitoringMetadata
impl RefUnwindSafe for CuMonitoringMetadata
impl Send for CuMonitoringMetadata
impl Sync for CuMonitoringMetadata
impl Unpin for CuMonitoringMetadata
impl UnsafeUnpin for CuMonitoringMetadata
impl UnwindSafe for CuMonitoringMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more