Struct IpProtocol
pub struct IpProtocol(/* private fields */);net only.Expand description
An IP Protocol / IPv6 Next Header number (IANA Internet Protocol Numbers).
Unknown numbers are preserved. This is independent of URI schemes and socket transport selection. In particular, zero means IPv6 Hop-by-Hop Options, not a wildcard; protocols such as CONNECT-IP define their own wildcard semantics.
Implementations§
§impl IpProtocol
impl IpProtocol
pub const HOP_BY_HOP: IpProtocol
pub const HOP_BY_HOP: IpProtocol
IPv6 Hop-by-Hop Options.
pub const ICMP: IpProtocol
pub const ICMP: IpProtocol
Internet Control Message Protocol for IPv4.
pub const TCP: IpProtocol
pub const TCP: IpProtocol
Transmission Control Protocol.
pub const UDP: IpProtocol
pub const UDP: IpProtocol
User Datagram Protocol.
pub const ROUTING: IpProtocol
pub const ROUTING: IpProtocol
IPv6 Routing header.
pub const FRAGMENT: IpProtocol
pub const FRAGMENT: IpProtocol
IPv6 Fragment header.
pub const ESP: IpProtocol
pub const ESP: IpProtocol
Encapsulating Security Payload; its contents are opaque.
pub const AH: IpProtocol
pub const AH: IpProtocol
Authentication Header.
pub const ICMPV6: IpProtocol
pub const ICMPV6: IpProtocol
Internet Control Message Protocol for IPv6.
pub const NO_NEXT_HEADER: IpProtocol
pub const NO_NEXT_HEADER: IpProtocol
IPv6 No Next Header.
pub const DESTINATION_OPTIONS: IpProtocol
pub const DESTINATION_OPTIONS: IpProtocol
IPv6 Destination Options.
pub const MOBILITY: IpProtocol
pub const MOBILITY: IpProtocol
Mobility Header.
pub const HIP: IpProtocol
pub const HIP: IpProtocol
Host Identity Protocol.
pub const SHIM6: IpProtocol
pub const SHIM6: IpProtocol
Shim6 Protocol.
pub const fn is_ipv6_extension(self) -> bool
pub const fn is_ipv6_extension(self) -> bool
Whether IANA classifies this number as an IPv6 extension header. ESP cannot be walked without decrypting its payload.
pub const fn new(value: u8) -> IpProtocol
pub const fn new(value: u8) -> IpProtocol
Preserve a wire number, including unassigned and experimental numbers.
Trait Implementations§
§impl Clone for IpProtocol
impl Clone for IpProtocol
§fn clone(&self) -> IpProtocol
fn clone(&self) -> IpProtocol
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for IpProtocol
§impl Debug for IpProtocol
impl Debug for IpProtocol
§impl Display for IpProtocol
impl Display for IpProtocol
impl Eq for IpProtocol
§impl From<IpProtocol> for u8
impl From<IpProtocol> for u8
§fn from(value: IpProtocol) -> u8
fn from(value: IpProtocol) -> u8
§impl From<u8> for IpProtocol
impl From<u8> for IpProtocol
§fn from(value: u8) -> IpProtocol
fn from(value: u8) -> IpProtocol
§impl Hash for IpProtocol
impl Hash for IpProtocol
§impl Ord for IpProtocol
impl Ord for IpProtocol
§fn cmp(&self, other: &IpProtocol) -> Ordering
fn cmp(&self, other: &IpProtocol) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
§impl PartialEq for IpProtocol
impl PartialEq for IpProtocol
§impl PartialOrd for IpProtocol
impl PartialOrd for IpProtocol
impl StructuralPartialEq for IpProtocol
Auto Trait Implementations§
impl Freeze for IpProtocol
impl RefUnwindSafe for IpProtocol
impl Send for IpProtocol
impl Sync for IpProtocol
impl Unpin for IpProtocol
impl UnsafeUnpin for IpProtocol
impl UnwindSafe for IpProtocol
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§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
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,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.