Skip to main content

Ecn

Enum Ecn 

Source
pub enum Ecn {
    NotEct,
    Ect1,
    Ect0,
    Ce,
}
Expand description

Explicit Congestion Notification codepoint.

Represents the 2-bit ECN field in the IP header (ToS for IPv4, Traffic Class for IPv6).

See RFC 9331 for the use of ECN with QUIC and RFC 3168 for the original specification.

Variants§

§

NotEct

Not ECN-Capable Transport — routers may drop the packet on congestion.

§

Ect1

ECN-Capable Transport, codepoint 1.

§

Ect0

ECN-Capable Transport, codepoint 0.

§

Ce

Congestion Experienced — set by a router on an ECT-marked packet.

Implementations§

Source§

impl Ecn

Source

pub fn to_tos_bits(self) -> u8

Encode the ECN codepoint as the low 2 bits of a TOS/Traffic Class byte.

Source

pub fn from_tos_bits(tos: u8) -> Self

Decode the ECN codepoint from the low 2 bits of a TOS/Traffic Class byte.

Trait Implementations§

Source§

impl Clone for Ecn

Source§

fn clone(&self) -> Ecn

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Ecn

Source§

impl Debug for Ecn

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Ecn

Source§

impl Hash for Ecn

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Ecn

Source§

fn eq(&self, other: &Ecn) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Ecn

Auto Trait Implementations§

§

impl Freeze for Ecn

§

impl RefUnwindSafe for Ecn

§

impl Send for Ecn

§

impl Sync for Ecn

§

impl Unpin for Ecn

§

impl UnsafeUnpin for Ecn

§

impl UnwindSafe for Ecn

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.