pub trait IpDeviceSendContext<I: IpExt, BC>: DeviceIdContext<AnyDevice> {
// Required method
fn send_ip_frame<S>(
&mut self,
bindings_ctx: &mut BC,
device_id: &Self::DeviceId,
destination: IpPacketDestination<I, &Self::DeviceId>,
ip_layer_metadata: DeviceIpLayerMetadata,
body: S,
egress_proof: ProofOfEgressCheck,
) -> Result<(), SendFrameError<S>>
where S: Serializer,
S::Buffer: BufferMut;
}
Expand description
The execution context for an IP device with a buffer.
Required Methods§
Sourcefn send_ip_frame<S>(
&mut self,
bindings_ctx: &mut BC,
device_id: &Self::DeviceId,
destination: IpPacketDestination<I, &Self::DeviceId>,
ip_layer_metadata: DeviceIpLayerMetadata,
body: S,
egress_proof: ProofOfEgressCheck,
) -> Result<(), SendFrameError<S>>where
S: Serializer,
S::Buffer: BufferMut,
fn send_ip_frame<S>(
&mut self,
bindings_ctx: &mut BC,
device_id: &Self::DeviceId,
destination: IpPacketDestination<I, &Self::DeviceId>,
ip_layer_metadata: DeviceIpLayerMetadata,
body: S,
egress_proof: ProofOfEgressCheck,
) -> Result<(), SendFrameError<S>>where
S: Serializer,
S::Buffer: BufferMut,
Sends an IP packet through the device.
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.