pub struct FlowKey {
pub src_addr: IpAddr,
pub src_port: u16,
pub dst_addr: IpAddr,
pub dst_port: u16,
pub protocol: u8,
}Expand description
5-tuple uniquely identifying an L4 flow. Used as the hash key for counting unique connections exercised by the workload.
protocol is a small numeric (IANA proto byte: 6 = TCP, 17 = UDP,
1 = ICMP, 58 = ICMPv6) rather than a String so the hash key stays
cheap to compute and copy. Source addr/port are included so a
workload that opens N parallel connections to the same (dst, port)
is counted as N flows, matching what exercised_egress_connections
promises to consumers (“connections”, not “destinations”).
Fields§
§src_addr: IpAddr§src_port: u16§dst_addr: IpAddr§dst_port: u16§protocol: u8Trait Implementations§
impl Copy for FlowKey
impl Eq for FlowKey
impl StructuralPartialEq for FlowKey
Auto Trait Implementations§
impl Freeze for FlowKey
impl RefUnwindSafe for FlowKey
impl Send for FlowKey
impl Sync for FlowKey
impl Unpin for FlowKey
impl UnsafeUnpin for FlowKey
impl UnwindSafe for FlowKey
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