pub trait IpDeviceSendContext<I: IpExt, BC: TxMetadataBindingsTypes>: 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<BC>,
body: S,
egress_proof: ProofOfEgressCheck,
) -> Result<(), SendFrameError<S>>
where S: NetworkSerializer,
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<BC>,
body: S,
egress_proof: ProofOfEgressCheck,
) -> Result<(), SendFrameError<S>>
fn send_ip_frame<S>( &mut self, bindings_ctx: &mut BC, device_id: &Self::DeviceId, destination: IpPacketDestination<I, &Self::DeviceId>, ip_layer_metadata: DeviceIpLayerMetadata<BC>, body: S, egress_proof: ProofOfEgressCheck, ) -> Result<(), SendFrameError<S>>
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".