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§
Sourcetype FilterIpPacket<B: SplitByteSliceMut>: IpPacket<Self>
type FilterIpPacket<B: SplitByteSliceMut>: IpPacket<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", so this trait is not object safe.