Skip to main content

MonitorSpec

Struct MonitorSpec 

Source
pub struct MonitorSpec {
    pub topic: &'static str,
    pub fqn: &'static str,
    pub min_rate_hz_milli: u32,
    pub max_latency_ms: u32,
    pub route_trigger: &'static str,
    pub route_max_latency_ms: u32,
    pub route_deadline_ms: u32,
    pub reaction_id: u16,
    pub mechanism: u8,
    pub cell: &'static PubMonitorCell,
}
Expand description

One monitored publisher endpoint.

Fields§

§topic: &'static str

Topic name EXACTLY as the node passes it to create_publisher (the SystemModel’s wiring carries the same resolved name).

§fqn: &'static str

Endpoint ref for violation reports (<node FQN>/<endpoint> — the SystemModel contract key).

§min_rate_hz_milli: u32

Declared publisher guarantee, in milli-Hz (fixed point: Hz × 1000). 0 = no rate contract on this endpoint.

§max_latency_ms: u32

W3b.5 — node-path budget (ms) for paths whose OUTPUT is this endpoint (contracts.node_paths[..].max_latency_ms). 0 = no latency contract.

§route_trigger: &'static str

phase10-B3 – the topic of the INPUT that triggers a node path whose output is this endpoint (contracts.node_paths[..].input, resolved to its wiring topic EXACTLY as the node passes it to create_subscription), or "" for none. A subscription on this topic registered on the same executor is the route’s trigger.

§route_max_latency_ms: u32

phase10-B3 – that path’s budget (ms), from the take of the trigger to this output (route-latency-runtime). 0 = no route contract.

§route_deadline_ms: u32

phase-503 – the route’s SUPERVISED deadline (ms) from the take of the trigger: a take still unanswered at take + route_deadline_ms is reported (route-deadline-runtime) and the executor’s reaction hook is called, without waiting for an output that may never come. 0 = the route is not supervised (only the completion verdict above judges it). Needs route_trigger; ignored without it.

§reaction_id: u16

phase-503 – the reaction the hook is asked to start when the deadline passes: an id codegen assigns to the contract’s reaction path (1-based; REACTION_NONE = none named). Opaque to the executor.

§mechanism: u8

phase-503 – which mechanism the contract chose to supervise this route: MECHANISM_EXECUTOR (this check, in the spin loop) or MECHANISM_TIMER (an independent timer the port arms from Executor::route_next_due_us). The executor checks the deadline either way and passes the mechanism to the hook.

§cell: &'static PubMonitorCell

The endpoint’s counter cell.

Trait Implementations§

Source§

impl Clone for MonitorSpec

Source§

fn clone(&self) -> MonitorSpec

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for MonitorSpec

Source§

impl Debug for MonitorSpec

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.