pub struct ReplayDefenseReason {Show 13 fields
pub contract_domain: String,
pub observed_domain: String,
pub contract_signature: Option<String>,
pub observed_signature: Option<String>,
pub contract_nonce: Option<String>,
pub observed_nonce: Option<String>,
pub captured_at_epoch_ms: u64,
pub observed_at_epoch_ms: u64,
pub elapsed_ms: u64,
pub rotation_interval_ms: u64,
pub nonce_validity_window_ms: u64,
pub force_reset_on_drift: bool,
pub kind: ReplayDefenseInvalidationKind,
}Expand description
Structured reason a replay-defense check invalidated a session.
Mirrors crate::freshness::InvalidationReason but covers the
replay-defense dimensions. Every field is populated regardless
of which rule fired so telemetry always carries the full
context.
Fields§
§contract_domain: StringState’s bound domain (lower-case).
observed_domain: StringObserved domain passed to check.
contract_signature: Option<String>State’s bound signature (when set).
observed_signature: Option<String>Observed signature passed to check (when set).
contract_nonce: Option<String>State’s bound nonce (when set).
observed_nonce: Option<String>Observed nonce passed to check (when set).
captured_at_epoch_ms: u64State’s captured-at timestamp.
observed_at_epoch_ms: u64Observed timestamp passed to check.
elapsed_ms: u64Elapsed milliseconds between capture and observation.
rotation_interval_ms: u64Policy’s rotation interval in milliseconds.
nonce_validity_window_ms: u64Policy’s nonce validity window in milliseconds.
force_reset_on_drift: boolWhether force_reset_on_drift was set on the policy.
kind: ReplayDefenseInvalidationKindStable machine-readable reason tag.
Trait Implementations§
Source§impl Clone for ReplayDefenseReason
impl Clone for ReplayDefenseReason
Source§fn clone(&self) -> ReplayDefenseReason
fn clone(&self) -> ReplayDefenseReason
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReplayDefenseReason
impl Debug for ReplayDefenseReason
Source§impl<'de> Deserialize<'de> for ReplayDefenseReason
impl<'de> Deserialize<'de> for ReplayDefenseReason
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 PartialEq for ReplayDefenseReason
impl PartialEq for ReplayDefenseReason
Source§impl Serialize for ReplayDefenseReason
impl Serialize for ReplayDefenseReason
impl Eq for ReplayDefenseReason
impl StructuralPartialEq for ReplayDefenseReason
Auto Trait Implementations§
impl Freeze for ReplayDefenseReason
impl RefUnwindSafe for ReplayDefenseReason
impl Send for ReplayDefenseReason
impl Sync for ReplayDefenseReason
impl Unpin for ReplayDefenseReason
impl UnsafeUnpin for ReplayDefenseReason
impl UnwindSafe for ReplayDefenseReason
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> 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.