pub struct ImmediateUpConservativeDown { /* private fields */ }Expand description
Raise the level immediately (cheap insurance), but only lower it after
hold consecutive ticks that all call for a lower level - so a brief
dip does not drop protection and the level does not oscillate.
Implementations§
Source§impl ImmediateUpConservativeDown
impl ImmediateUpConservativeDown
Sourcepub fn new(hold: u32) -> Self
pub fn new(hold: u32) -> Self
hold is the number of consecutive lower-demand ticks required
before de-escalating between FEC levels. Dropping all the way to
Passthrough (zero parity) is the riskiest de-escalation, so it
requires a longer sustained-clean window, clean_hold, defaulting
to 4 * hold.
Sourcepub fn with_holds(hold: u32, clean_hold: u32) -> Self
pub fn with_holds(hold: u32, clean_hold: u32) -> Self
Like new but with an explicit clean_hold (the
sustained-clean streak required before dropping to Passthrough).
Trait Implementations§
Source§impl Debug for ImmediateUpConservativeDown
impl Debug for ImmediateUpConservativeDown
Source§impl FusionPolicy for ImmediateUpConservativeDown
impl FusionPolicy for ImmediateUpConservativeDown
Source§fn decide(&mut self, s: &SensorSnapshot) -> ControlDecision
fn decide(&mut self, s: &SensorSnapshot) -> ControlDecision
Decide the coding configuration for this snapshot.
Auto Trait Implementations§
impl Freeze for ImmediateUpConservativeDown
impl RefUnwindSafe for ImmediateUpConservativeDown
impl Send for ImmediateUpConservativeDown
impl Sync for ImmediateUpConservativeDown
impl Unpin for ImmediateUpConservativeDown
impl UnsafeUnpin for ImmediateUpConservativeDown
impl UnwindSafe for ImmediateUpConservativeDown
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