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", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl HeaderLen for &[u8]
impl HeaderLen for &[u8]
const MINIMUM_LENGTH: usize = 0usize
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> 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<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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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<T: HeaderLen> HeaderLen for Option<T>
impl<T: HeaderLen> HeaderLen for Option<T>
const MINIMUM_LENGTH: usize = 0usize
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 = 0usize
Source§impl<B: ByteSlice, V> HeaderLen for ObjectSlice<B, V>
impl<B: ByteSlice, V> HeaderLen for ObjectSlice<B, V>
const MINIMUM_LENGTH: usize = 0usize
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.