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§
Sourceconst MINIMUM_LENGTH: usize
const MINIMUM_LENGTH: usize
The minimum number of bytes a packet of this kind occupies when serialised.
Required Methods§
Sourcefn packet_length(&self) -> usize
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]
impl HeaderLen for &[u8]
const MINIMUM_LENGTH: usize = 0
fn packet_length(&self) -> usize
Source§impl<H: HeaderLen> HeaderLen for &H
impl<H: HeaderLen> HeaderLen for &H
const MINIMUM_LENGTH: usize = H::MINIMUM_LENGTH
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)
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)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
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)
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)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
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)
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)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
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)
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)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
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)
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)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
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)
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)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3, T4, T5, T6, T7> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0, T1, T2, T3, T4, T5, T6, T7> HeaderLen for (T0, T1, T2, T3, T4, T5, T6, T7)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3, T4, T5, T6> HeaderLen for (T0, T1, T2, T3, T4, T5, T6)
impl<T0, T1, T2, T3, T4, T5, T6> HeaderLen for (T0, T1, T2, T3, T4, T5, T6)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3, T4, T5> HeaderLen for (T0, T1, T2, T3, T4, T5)
impl<T0, T1, T2, T3, T4, T5> HeaderLen for (T0, T1, T2, T3, T4, T5)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3, T4> HeaderLen for (T0, T1, T2, T3, T4)
impl<T0, T1, T2, T3, T4> HeaderLen for (T0, T1, T2, T3, T4)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2, T3> HeaderLen for (T0, T1, T2, T3)
impl<T0, T1, T2, T3> HeaderLen for (T0, T1, T2, T3)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1, T2> HeaderLen for (T0, T1, T2)
impl<T0, T1, T2> HeaderLen for (T0, T1, T2)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0, T1> HeaderLen for (T0, T1)
impl<T0, T1> HeaderLen for (T0, T1)
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T0> HeaderLen for (T0,)where
T0: HeaderLen,
impl<T0> HeaderLen for (T0,)where
T0: HeaderLen,
const MINIMUM_LENGTH: usize
fn packet_length(&self) -> usize
Source§impl<T: HeaderLen> HeaderLen for Option<T>
impl<T: HeaderLen> HeaderLen for Option<T>
const MINIMUM_LENGTH: usize = 0
fn packet_length(&self) -> usize
Implementors§
Source§impl<B: ByteSlice, T: HeaderLen + NextLayer + HasView<B>> HeaderLen for RepeatedView<B, T>
impl<B: ByteSlice, T: HeaderLen + NextLayer + HasView<B>> HeaderLen for RepeatedView<B, T>
const MINIMUM_LENGTH: usize = 0
Source§impl<B: ByteSlice, V> HeaderLen for ObjectSlice<B, V>
impl<B: ByteSlice, V> HeaderLen for ObjectSlice<B, V>
const MINIMUM_LENGTH: usize = 0
Source§impl<O, B> HeaderLen for BoxedHeader<O, B>
Available on crate feature alloc only.
impl<O, B> HeaderLen for BoxedHeader<O, B>
Available on crate feature
alloc only.