pub struct FlowEvent {
pub direction: NetworkFlowDirection,
pub decision: NetworkFlowDecisionOutcome,
pub reason_code: &'static str,
pub dst_addr: Option<String>,
pub dst_port: Option<u16>,
pub protocol: Option<String>,
pub byte_count: Option<u64>,
}Expand description
One real-time observation a Phase 2 listener surfaces.
Backend-neutral: an eBPF cgroup_skb program populates the same
fields a nflog netlink consumer does, AND the new ring-buffer-based
EbpfFlowMonitor populates the same fields.
Fields§
§direction: NetworkFlowDirectionOutbound vs inbound. Phase 2 starts on egress (matching Phase 1) and may add ingress later.
decision: NetworkFlowDecisionOutcomeAllow vs deny.
reason_code: &'static strReason code distinguishing the data source.
dst_addr: Option<String>Optional destination IP.
dst_port: Option<u16>Optional destination port.
protocol: Option<String>Optional protocol (udp / tcp / icmp).
byte_count: Option<u64>Optional bytes observed for this event.
Trait Implementations§
impl Eq for FlowEvent
impl StructuralPartialEq for FlowEvent
Auto Trait Implementations§
impl Freeze for FlowEvent
impl RefUnwindSafe for FlowEvent
impl Send for FlowEvent
impl Sync for FlowEvent
impl Unpin for FlowEvent
impl UnsafeUnpin for FlowEvent
impl UnwindSafe for FlowEvent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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