pub enum PowFailureMode {
TokenInvalid,
NonceReplayed,
Timeout,
Blocked,
Captcha,
Other,
}Expand description
Failure mode a PoW solve attempt can end in.
The taxonomy is small and stable — every variant maps to a
well-understood terminal state observed by the runner or the
T83 challenge feedback loop. The wire label is
snake_case and a severity_weight is provided for the
scorer (higher = worse for the aggregate score).
§Example
use stygian_charon::pow_profile::PowFailureMode;
assert_eq!(PowFailureMode::Captcha.label(), "captcha");
assert!(PowFailureMode::Captcha.severity_weight() > PowFailureMode::Timeout.severity_weight());Variants§
TokenInvalid
The token was rejected as invalid by the vendor.
NonceReplayed
The nonce was already used (replay detected by T91).
Timeout
The solve attempt timed out before completion.
Blocked
The vendor blocked the request outright (403/429).
Captcha
The vendor demanded a captcha the runner cannot solve.
Other
Any other observed failure mode.
Implementations§
Source§impl PowFailureMode
impl PowFailureMode
Sourcepub const fn severity_weight(self) -> f64
pub const fn severity_weight(self) -> f64
Severity weight contributed to the aggregate score
(higher = worse). The weights are bounded in
[0.0, 1.0] so the failure-severity term in the
scorer remains a unit-interval value.
Trait Implementations§
Source§impl Clone for PowFailureMode
impl Clone for PowFailureMode
Source§fn clone(&self) -> PowFailureMode
fn clone(&self) -> PowFailureMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PowFailureMode
impl Debug for PowFailureMode
Source§impl<'de> Deserialize<'de> for PowFailureMode
impl<'de> Deserialize<'de> for PowFailureMode
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 Hash for PowFailureMode
impl Hash for PowFailureMode
Source§impl Ord for PowFailureMode
impl Ord for PowFailureMode
Source§fn cmp(&self, other: &PowFailureMode) -> Ordering
fn cmp(&self, other: &PowFailureMode) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for PowFailureMode
impl PartialEq for PowFailureMode
Source§impl PartialOrd for PowFailureMode
impl PartialOrd for PowFailureMode
Source§impl Serialize for PowFailureMode
impl Serialize for PowFailureMode
impl Copy for PowFailureMode
impl Eq for PowFailureMode
impl StructuralPartialEq for PowFailureMode
Auto Trait Implementations§
impl Freeze for PowFailureMode
impl RefUnwindSafe for PowFailureMode
impl Send for PowFailureMode
impl Sync for PowFailureMode
impl Unpin for PowFailureMode
impl UnsafeUnpin for PowFailureMode
impl UnwindSafe for PowFailureMode
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<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.