Trait FilterIpExt

Source
pub trait FilterIpExt: IpExt {
    type FilterIpPacket<B: SplitByteSliceMut>: IpPacket<Self>;

    // Required method
    fn as_filter_packet<B: SplitByteSliceMut>(
        packet: &mut Self::Packet<B>,
    ) -> &mut Self::FilterIpPacket<B>;
}
Expand description

An IP extension trait for the filtering crate.

Required Associated Types§

Source

type FilterIpPacket<B: SplitByteSliceMut>: IpPacket<Self>

A marker type to add an IpPacket bound to [Self::Packet].

Required Methods§

Source

fn as_filter_packet<B: SplitByteSliceMut>( packet: &mut Self::Packet<B>, ) -> &mut Self::FilterIpPacket<B>

A no-op conversion to help the compiler identify that [Self::Packet] actually implements IpPacket.

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 FilterIpExt for Ipv4

Source§

type FilterIpPacket<B: SplitByteSliceMut> = Ipv4Packet<B>

Source§

fn as_filter_packet<B: SplitByteSliceMut>( packet: &mut Ipv4Packet<B>, ) -> &mut Ipv4Packet<B>

Source§

impl FilterIpExt for Ipv6

Source§

type FilterIpPacket<B: SplitByteSliceMut> = Ipv6Packet<B>

Source§

fn as_filter_packet<B: SplitByteSliceMut>( packet: &mut Ipv6Packet<B>, ) -> &mut Ipv6Packet<B>

Implementors§