pub enum ResearchStatus {
EffectDetected,
NoEffectDetected,
ResolutionLimitReached,
QualityIssue(InconclusiveReason),
BudgetExhausted,
}Expand description
Status of a research mode run.
Research mode (AttackerModel::Research) doesn’t make Pass/Fail decisions. Instead, it characterizes the timing behavior with respect to the measurement floor.
Variants§
EffectDetected
CI clearly above θ_floor — timing difference detected.
The 95% credible interval lower bound is clearly above the measurement floor (> 1.1 × θ_floor), indicating a confidently detectable effect.
NoEffectDetected
CI clearly below θ_floor — no timing difference above noise.
The 95% credible interval upper bound is clearly below the measurement floor (< 0.9 × θ_floor), indicating no detectable effect.
ResolutionLimitReached
Hit timer resolution limit; θ_floor is as good as it gets.
Further sampling won’t improve the measurement floor because we’ve hit the fundamental timer tick resolution.
QualityIssue(InconclusiveReason)
Data quality issue detected.
A quality gate triggered during research mode. Unlike standard mode, this doesn’t block the result but is reported for transparency.
BudgetExhausted
Ran out of time/samples before reaching conclusion.
The budget was exhausted before the CI could confidently settle above or below the measurement floor.
Trait Implementations§
Source§impl Clone for ResearchStatus
impl Clone for ResearchStatus
Source§fn clone(&self) -> ResearchStatus
fn clone(&self) -> ResearchStatus
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ResearchStatus
impl Debug for ResearchStatus
Source§impl<'de> Deserialize<'de> for ResearchStatus
impl<'de> Deserialize<'de> for ResearchStatus
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>,
Source§impl Display for ResearchStatus
impl Display for ResearchStatus
Source§impl PartialEq for ResearchStatus
impl PartialEq for ResearchStatus
Source§impl Serialize for ResearchStatus
impl Serialize for ResearchStatus
impl StructuralPartialEq for ResearchStatus
Auto Trait Implementations§
impl Freeze for ResearchStatus
impl RefUnwindSafe for ResearchStatus
impl Send for ResearchStatus
impl Sync for ResearchStatus
impl Unpin for ResearchStatus
impl UnwindSafe for ResearchStatus
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,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.