pub struct IgmpMembershipReportV3Builder<I> { /* private fields */ }
Expand description
A builder for IGMPv3 membership reports.
This differs from IgmpPacketBuilder
in that it implements
[InnerPacketBuilder
\ directly, and provides a more ergonomic way of
building reports than nesting builders.
Implementations§
Source§impl<I> IgmpMembershipReportV3Builder<I>
impl<I> IgmpMembershipReportV3Builder<I>
Sourcepub fn new(groups: I) -> Self
pub fn new(groups: I) -> Self
Creates a new IgmpMembershipReportV3Builder
.
Source§impl<I> IgmpMembershipReportV3Builder<I>
impl<I> IgmpMembershipReportV3Builder<I>
Sourcepub fn with_len_limits(
self,
max_len: usize,
) -> Result<impl Iterator<Item = IgmpMembershipReportV3Builder<impl Iterator<Item: GmpReportGroupRecord<Ipv4Addr>> + Clone>>, InvalidConstraintsError>
pub fn with_len_limits( self, max_len: usize, ) -> Result<impl Iterator<Item = IgmpMembershipReportV3Builder<impl Iterator<Item: GmpReportGroupRecord<Ipv4Addr>> + 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 header, but it accounts for the entire
IGMP packet.
Returns Err
if max_len
is not large enough to meet minimal
constraints for each report.
Trait Implementations§
Source§impl<I: Debug> Debug for IgmpMembershipReportV3Builder<I>
impl<I: Debug> Debug for IgmpMembershipReportV3Builder<I>
Source§impl<I> InnerPacketBuilder for IgmpMembershipReportV3Builder<I>
impl<I> InnerPacketBuilder for IgmpMembershipReportV3Builder<I>
§fn into_serializer(self) -> InnerSerializer<Self, EmptyBuf>where
Self: Sized,
fn into_serializer(self) -> InnerSerializer<Self, EmptyBuf>where
Self: Sized,
§fn into_serializer_with<B>(self, buffer: B) -> InnerSerializer<Self, B>where
B: ShrinkBuffer,
Self: Sized,
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 moreAuto Trait Implementations§
impl<I> Freeze for IgmpMembershipReportV3Builder<I>where
I: Freeze,
impl<I> RefUnwindSafe for IgmpMembershipReportV3Builder<I>where
I: RefUnwindSafe,
impl<I> Send for IgmpMembershipReportV3Builder<I>where
I: Send,
impl<I> Sync for IgmpMembershipReportV3Builder<I>where
I: Sync,
impl<I> Unpin for IgmpMembershipReportV3Builder<I>where
I: Unpin,
impl<I> UnwindSafe for IgmpMembershipReportV3Builder<I>where
I: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more