pub struct SessionVerdict {
pub decision: Decision,
pub severity: Option<Severity>,
pub threats: Vec<SessionThreat>,
}Expand description
一次校验的结论。
Fields§
§decision: Decision§severity: Option<Severity>最严重威胁的严重度;无威胁(放行)时为 None。
不拿 Severity::Low 占位:占位值在日志里跟「发现了一条低危」长得一模一样,
一条完全放行的正常请求会被读成有发现。没有威胁就是没有严重度,由类型说明。
threats: Vec<SessionThreat>Implementations§
Source§impl SessionVerdict
impl SessionVerdict
Sourcepub fn single(threat: SessionThreat) -> Self
pub fn single(threat: SessionThreat) -> Self
单个威胁。
Sourcepub fn from_threats(threats: Vec<SessionThreat>) -> Self
pub fn from_threats(threats: Vec<SessionThreat>) -> Self
由威胁列表聚合:decision 取最严格者,severity 取最严重者(空列表 ⇒ None)。
Severity 不提供任何序(派生 Ord 会按声明顺序 Critical < Low,与严重程度相反),
因此严重度比较一律走显式的 severity_rank;decision 的比较则可用 Decision 的 Ord。
pub fn is_allowed(&self) -> bool
Trait Implementations§
Source§impl Clone for SessionVerdict
impl Clone for SessionVerdict
Source§impl Debug for SessionVerdict
impl Debug for SessionVerdict
Source§impl PartialEq for SessionVerdict
impl PartialEq for SessionVerdict
impl StructuralPartialEq for SessionVerdict
Auto Trait Implementations§
impl Freeze for SessionVerdict
impl RefUnwindSafe for SessionVerdict
impl Send for SessionVerdict
impl Sync for SessionVerdict
impl Unpin for SessionVerdict
impl UnsafeUnpin for SessionVerdict
impl UnwindSafe for SessionVerdict
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
Mutably borrows from an owned value. Read more