pub trait FilterIpExt: IpExt {
type FilterIpPacket<B: SplitByteSliceMut>: FilterIpPacket<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§
Sourcetype FilterIpPacket<B: SplitByteSliceMut>: FilterIpPacket<Self>
type FilterIpPacket<B: SplitByteSliceMut>: FilterIpPacket<Self>
A marker type to add an IpPacket bound to [Self::Packet].
Sourcetype FilterIpPacketRaw<B: SplitByteSliceMut>: IpPacket<Self>
type FilterIpPacketRaw<B: SplitByteSliceMut>: IpPacket<Self>
A marker type to add an IpPacket bound to
[Self::PacketRaw].
Required Methods§
Sourcefn as_filter_packet<B: SplitByteSliceMut>(
packet: &mut Self::Packet<B>,
) -> &mut Self::FilterIpPacket<B>
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.
Sourcefn as_filter_packet_owned<B: SplitByteSliceMut>(
packet: Self::Packet<B>,
) -> Self::FilterIpPacket<B>
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.
Sourcefn as_filter_packet_raw_owned<B: SplitByteSliceMut>(
packet: Self::PacketRaw<B>,
) -> Self::FilterIpPacketRaw<B>
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".