Skip to main content

HeaderLen

Trait HeaderLen 

Source
pub trait HeaderLen {
    const MINIMUM_LENGTH: usize;

    // Required method
    fn packet_length(&self) -> usize;
}
Expand description

Base trait for header/packet types.

Required Associated Constants§

Source

const MINIMUM_LENGTH: usize

The minimum number of bytes a packet of this kind occupies when serialised.

Required Methods§

Source

fn packet_length(&self) -> usize

The number of bytes which this packet would occupy when serialised.

This should always return a value greater than or equal to Header::MINIMUM_LENGTH.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl HeaderLen for &[u8]

Source§

impl<H: HeaderLen> HeaderLen for &H

Source§

const MINIMUM_LENGTH: usize = H::MINIMUM_LENGTH

Source§

fn packet_length(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen, T10: HeaderLen, T11: HeaderLen, T12: HeaderLen, T13: HeaderLen, T14: HeaderLen, T15: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen, T10: HeaderLen, T11: HeaderLen, T12: HeaderLen, T13: HeaderLen, T14: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen, T10: HeaderLen, T11: HeaderLen, T12: HeaderLen, T13: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen, T10: HeaderLen, T11: HeaderLen, T12: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen, T10: HeaderLen, T11: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen, T10: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen, T9: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen, T8: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen, T7: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5, T6> HeaderLen for (T0, T1, T2, T3, T4, T5, T6)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen, T6: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4, T5> HeaderLen for (T0, T1, T2, T3, T4, T5)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen, T5: HeaderLen,

Source§

impl<T0, T1, T2, T3, T4> HeaderLen for (T0, T1, T2, T3, T4)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen, T4: HeaderLen,

Source§

impl<T0, T1, T2, T3> HeaderLen for (T0, T1, T2, T3)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen, T3: HeaderLen,

Source§

impl<T0, T1, T2> HeaderLen for (T0, T1, T2)
where T0: HeaderLen, T1: HeaderLen, T2: HeaderLen,

Source§

impl<T0, T1> HeaderLen for (T0, T1)
where T0: HeaderLen, T1: HeaderLen,

Source§

impl<T0> HeaderLen for (T0,)
where T0: HeaderLen,

Source§

impl<T: HeaderLen> HeaderLen for Option<T>

Implementors§

Source§

impl HeaderLen for Ipv4Addr

Source§

impl HeaderLen for Ipv6Addr

Source§

impl HeaderLen for Vec<u8>

Source§

impl<B: ByteSlice, T: HeaderLen + NextLayer + HasView<B>> HeaderLen for RepeatedView<B, T>

Source§

impl<B: ByteSlice, V> HeaderLen for ObjectSlice<B, V>

Source§

impl<B: ByteSlice> HeaderLen for RawBytes<B>

Source§

impl<O, B> HeaderLen for BoxedHeader<O, B>
where O: HeaderLen, B: HeaderLen,

Available on crate feature alloc only.
Source§

const MINIMUM_LENGTH: usize = O::MINIMUM_LENGTH

Source§

impl<O, B> HeaderLen for InlineHeader<O, B>
where O: HeaderLen, B: HeaderLen,

Source§

const MINIMUM_LENGTH: usize = O::MINIMUM_LENGTH

Source§

impl<T: HeaderLen + HasView<V>, V> HeaderLen for FieldMut<'_, T, V>
where T::ViewType: HeaderLen,

Source§

const MINIMUM_LENGTH: usize = T::MINIMUM_LENGTH

Source§

impl<T: HeaderLen + HasView<V>, V> HeaderLen for FieldRef<'_, T, V>
where T::ViewType: HeaderLen,

Source§

const MINIMUM_LENGTH: usize = T::MINIMUM_LENGTH

Source§

impl<T: HeaderLen> HeaderLen for Repeated<T>

Source§

impl<T: HeaderLen> HeaderLen for Vec<T>