pub enum PortDirection {
None,
FixedSrc(Port),
FixedDest(Port),
FixedBoth(Port, Port),
}Expand description
Whether to fix the src, dest or both ports for a trace.
Variants§
None
Trace without any source or destination port (i.e. for ICMP tracing).
FixedSrc(Port)
Trace from a fixed source port to a variable destination port (i.e. 5000 -> *).
This is the default direction for UDP tracing.
FixedDest(Port)
Trace from a variable source port to a fixed destination port (i.e. * -> 80).
This is the default direction for TCP tracing.
FixedBoth(Port, Port)
Trace from a fixed source port to a fixed destination port (i.e. 5000 -> 80).
When both ports are fixed another element of the IP header is required to vary per probe such that probes can be identified. Typically, this is only used for UDP, whereby the checksum is manipulated by adjusting the payload and therefore used as the identifier.
Note that this case is not currently implemented.
Implementations§
Trait Implementations§
Source§impl Clone for PortDirection
impl Clone for PortDirection
Source§fn clone(&self) -> PortDirection
fn clone(&self) -> PortDirection
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PortDirection
impl Debug for PortDirection
Source§impl PartialEq for PortDirection
impl PartialEq for PortDirection
impl Copy for PortDirection
impl Eq for PortDirection
impl StructuralPartialEq for PortDirection
Auto Trait Implementations§
impl Freeze for PortDirection
impl RefUnwindSafe for PortDirection
impl Send for PortDirection
impl Sync for PortDirection
impl Unpin for PortDirection
impl UnwindSafe for PortDirection
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.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>
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>
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