pub struct SettleEvaluator { /* private fields */ }Expand description
The settle detector as a PulseEvaluator. It holds the phase’s
objective kernel (a clone of node X’s kernel — already bound to
this evaluation’s coordinate, the same kernel
read_objective_at_completion pulls) and a fixed is_stable
engine. Each cadence pulse:
- positions the objective kernel at the pulse’s ordinal on its
coordinate input (typically
cycle); a volatile objective reader re-reads the latest published window on every pull regardless; - pulls the objective wire — the fresh windowed objective value;
- feeds it to
SettleInterpreter(is_stable).
It yields a terminal Outcome when the objective settles
(interrupted — stopped early, register trustworthy) or when the
settle timeout elapses without settling (failed — SRD-86 §6
step 5). None while the loop should hold.
Implementations§
Source§impl SettleEvaluator
impl SettleEvaluator
Sourcepub fn new(
objective: ScopeKernel,
objective_wire: &str,
poke_input: &str,
interp: SettleInterpreter,
timeout: Duration,
min_viable: Duration,
) -> Self
pub fn new( objective: ScopeKernel, objective_wire: &str, poke_input: &str, interp: SettleInterpreter, timeout: Duration, min_viable: Duration, ) -> Self
objective is the phase’s objective kernel (node X clone);
objective_wire the objective output; poke_input the coordinate
input positioned at each pulse’s ordinal (typically cycle);
interp the is_stable engine fed the objective value.
Trait Implementations§
Source§impl PulseEvaluator for SettleEvaluator
impl PulseEvaluator for SettleEvaluator
Auto Trait Implementations§
impl !RefUnwindSafe for SettleEvaluator
impl !UnwindSafe for SettleEvaluator
impl Freeze for SettleEvaluator
impl Send for SettleEvaluator
impl Sync for SettleEvaluator
impl Unpin for SettleEvaluator
impl UnsafeUnpin for SettleEvaluator
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
Converts
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> ⓘ
Converts
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