pub enum FullResyncDecision {
Disabled,
NotDue {
run_count: u64,
every: u32,
runs_until_due: u32,
},
Due {
run_count: u64,
every: u32,
walked_facets: Vec<String>,
refused: Vec<FullResyncRefusal>,
},
Forced {
walked_facets: Vec<String>,
},
}Expand description
The full-enumeration scheduling decision for a verify run (D3). A closed, serialized vocabulary so the caller (and the fidelity report) can render the outcome without inferring it.
Variants§
Disabled
full_resync_every == 0 — scheduled full walks are disabled; the run
uses the rotating sample only.
NotDue
Scheduled but not due this run — the rotating sample runs; the counter advances toward the next full walk.
Fields
Due
Due this run: a full-enumeration walk fires for the enumerable facets (guaranteeing a complete coverage picture), and every non-enumerable facet is refused with a typed signal — never a silent skip, never a fabricated full-coverage claim.
Fields
refused: Vec<FullResyncRefusal>The non-enumerable facets the walk refuses (typed).
Forced
A full walk was explicitly requested (verify_binding_full —
the CLI’s --full), not schedule-triggered: the whole enumerable
S(D) is walked, the sampling scheduler is bypassed, and the
adjudication cap is treated as unlimited. Only ever constructed after
the every-facet-enumerable gate, so it carries no per-facet refusal
list — a non-enumerable facet refuses the entire run instead
(FindingsError::FullWalkNonEnumerable).
Implementations§
Source§impl FullResyncDecision
impl FullResyncDecision
Sourcepub fn is_full_walk(&self) -> bool
pub fn is_full_walk(&self) -> bool
Whether this run performs a full-enumeration walk (a scheduled sweep
is due, or an explicit full measurement was requested). false for
Disabled / NotDue.
Trait Implementations§
Source§impl Clone for FullResyncDecision
impl Clone for FullResyncDecision
Source§fn clone(&self) -> FullResyncDecision
fn clone(&self) -> FullResyncDecision
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FullResyncDecision
impl Debug for FullResyncDecision
Source§impl<'de> Deserialize<'de> for FullResyncDecision
impl<'de> Deserialize<'de> for FullResyncDecision
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for FullResyncDecision
Source§impl PartialEq for FullResyncDecision
impl PartialEq for FullResyncDecision
Source§impl Serialize for FullResyncDecision
impl Serialize for FullResyncDecision
impl StructuralPartialEq for FullResyncDecision
Auto Trait Implementations§
impl Freeze for FullResyncDecision
impl RefUnwindSafe for FullResyncDecision
impl Send for FullResyncDecision
impl Sync for FullResyncDecision
impl Unpin for FullResyncDecision
impl UnsafeUnpin for FullResyncDecision
impl UnwindSafe for FullResyncDecision
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<T> Fruit for T
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> ⓘ
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