packet_formats::icmp::mld

Struct Mldv2ReportMessageBuilder

Source
pub struct Mldv2ReportMessageBuilder<I> { /* private fields */ }
Expand description

The builder for MLDv2 Report Messages.

Implementations§

Source§

impl<I> Mldv2ReportMessageBuilder<I>

Source

pub fn new(groups: I) -> Self

Source§

impl<I> Mldv2ReportMessageBuilder<I>

Source

pub fn with_len_limits( self, max_len: usize, ) -> Result<impl Iterator<Item = Mldv2ReportMessageBuilder<impl Iterator<Item: GmpReportGroupRecord<Ipv6Addr>> + Clone>>, InvalidConstraintsError>

Transform this builder into an iterator of builders with a given max_len for each generated packet.

max_len is the maximum length each builder yielded by the returned iterator can have. The groups used to create this builder are split into multiple reports in order to meet this length. Note that this length does not account for the IP or the shared ICMP header.

Returns Err if max_len is not large enough to meet minimal constraints for each report.

Trait Implementations§

Source§

impl<I: Debug> Debug for Mldv2ReportMessageBuilder<I>

Source§

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

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

impl<I> InnerPacketBuilder for Mldv2ReportMessageBuilder<I>

Source§

fn bytes_len(&self) -> usize

The number of bytes consumed by this packet.
Source§

fn serialize(&self, buf: &mut [u8])

Serializes this packet into an existing buffer. Read more
§

fn into_serializer(self) -> InnerSerializer<Self, EmptyBuf>
where Self: Sized,

Converts this InnerPacketBuilder into a [Serializer]. Read more
§

fn into_serializer_with<B>(self, buffer: B) -> InnerSerializer<Self, B>
where B: ShrinkBuffer, Self: Sized,

Converts this InnerPacketBuilder into a [Serializer] with a buffer that can be used for serialization. Read more

Auto Trait Implementations§

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> 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, 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.