pub struct SecurityEvent {
pub id: u64,
pub peer_id: String,
pub threat_type: ThreatType,
pub threat_level: ThreatLevel,
pub description: String,
pub timestamp: u64,
pub evidence: Vec<String>,
}Expand description
A single security-relevant observation about a peer.
Fields§
§id: u64Deterministic FNV-1a ID: hash of peer_id + threat_type.name() + timestamp.
peer_id: StringThe peer that triggered this event.
threat_type: ThreatTypeCategory of threat observed.
threat_level: ThreatLevelSeverity of the threat.
description: StringHuman-readable description.
timestamp: u64Unix epoch in milliseconds at which the event was recorded.
evidence: Vec<String>Supporting evidence strings (packet hashes, CIDs, log snippets, …).
Implementations§
Source§impl SecurityEvent
impl SecurityEvent
Sourcepub fn new(
peer_id: String,
threat_type: ThreatType,
threat_level: ThreatLevel,
description: String,
timestamp: u64,
evidence: Vec<String>,
) -> Self
pub fn new( peer_id: String, threat_type: ThreatType, threat_level: ThreatLevel, description: String, timestamp: u64, evidence: Vec<String>, ) -> Self
Create a new SecurityEvent, computing the ID automatically.
Trait Implementations§
Source§impl Clone for SecurityEvent
impl Clone for SecurityEvent
Source§fn clone(&self) -> SecurityEvent
fn clone(&self) -> SecurityEvent
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SecurityEvent
impl RefUnwindSafe for SecurityEvent
impl Send for SecurityEvent
impl Sync for SecurityEvent
impl Unpin for SecurityEvent
impl UnsafeUnpin for SecurityEvent
impl UnwindSafe for SecurityEvent
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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