FilterIpExt

Trait FilterIpExt 

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

    // Required methods
    fn as_filter_packet<B: SplitByteSliceMut>(
        packet: &mut Self::Packet<B>,
    ) -> &mut Self::FilterIpPacket<B>;
    fn as_filter_packet_owned<B: SplitByteSliceMut>(
        packet: Self::Packet<B>,
    ) -> Self::FilterIpPacket<B>;
    fn as_filter_packet_raw_owned<B: SplitByteSliceMut>(
        packet: Self::PacketRaw<B>,
    ) -> Self::FilterIpPacketRaw<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].

Source

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

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

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.

Source

fn as_filter_packet_owned<B: SplitByteSliceMut>( packet: Self::Packet<B>, ) -> Self::FilterIpPacket<B>

The same as FilterIpExt::as_filter_packet, but for owned values.

Source

fn as_filter_packet_raw_owned<B: SplitByteSliceMut>( packet: Self::PacketRaw<B>, ) -> Self::FilterIpPacketRaw<B>

The same as FilterIpExt::as_filter_packet_owned, but for owned raw values.

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§

impl FilterIpExt for Ipv6

Implementors§