pub struct WorkloopArming { /* private fields */ }Expand description
How a workloop is armed (R2.4): every <duration> (cadence) and/or
on <signal> (triggered), one construct family. A loop with neither is a
declaration error, refused by the constructors.
Implementations§
Source§impl WorkloopArming
impl WorkloopArming
Sourcepub fn every(period: Duration) -> Result<Self, WorkloopSpecError>
pub fn every(period: Duration) -> Result<Self, WorkloopSpecError>
Cadence-armed loop: the engine fires every period (R4.3).
§Errors
Refuses a zero period (WorkloopSpecError::ZeroCadencePeriod).
Sourcepub fn every_with_signals(
period: Duration,
signals: Vec<String>,
) -> Result<Self, WorkloopSpecError>
pub fn every_with_signals( period: Duration, signals: Vec<String>, ) -> Result<Self, WorkloopSpecError>
Cadence-armed loop that additionally fires on the named signals.
§Errors
Refuses a zero period or an empty signal name.
Sourcepub fn signal_only(signals: Vec<String>) -> Result<Self, WorkloopSpecError>
pub fn signal_only(signals: Vec<String>) -> Result<Self, WorkloopSpecError>
Signal-only loop: fires on signal arrival, with no cadence window for
the engine to miss. The R2.4a cross-rule applies: every invariant on a
signal-only loop must declare the duration-form tolerance (enforced by
WorkloopSpec::new).
§Errors
Refuses an empty signal list or an empty signal name.
Sourcepub const fn cadence_period(&self) -> Option<Duration>
pub const fn cadence_period(&self) -> Option<Duration>
The declared cadence period, when the loop is cadence-armed.
Sourcepub fn signals(&self) -> &[String]
pub fn signals(&self) -> &[String]
The declared triggering signals (empty for a pure-cadence loop).
Sourcepub const fn is_signal_only(&self) -> bool
pub const fn is_signal_only(&self) -> bool
Whether this loop has no cadence window (signal-only arming).
Trait Implementations§
Source§impl Clone for WorkloopArming
impl Clone for WorkloopArming
Source§fn clone(&self) -> WorkloopArming
fn clone(&self) -> WorkloopArming
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more