netstack3_device::queue

Trait TransmitDequeueContext

Source
pub trait TransmitDequeueContext<D: Device, BC>: TransmitQueueContext<D, BC> {
    type TransmitQueueCtx<'a>: TransmitQueueContext<D, BC, Meta = Self::Meta, Buffer = Self::Buffer, DequeueContext = Self::DequeueContext, DeviceId = Self::DeviceId> + DeviceSocketHandler<D, BC>;

    // Required method
    fn with_dequed_packets_and_tx_queue_ctx<O, F: FnOnce(&mut DequeueState<Self::Meta, Self::Buffer>, &mut Self::TransmitQueueCtx<'_>) -> O>(
        &mut self,
        device_id: &Self::DeviceId,
        cb: F,
    ) -> O;
}
Expand description

The core execution context for dequeueing TX frames from the transmit queue.

Required Associated Types§

Source

type TransmitQueueCtx<'a>: TransmitQueueContext<D, BC, Meta = Self::Meta, Buffer = Self::Buffer, DequeueContext = Self::DequeueContext, DeviceId = Self::DeviceId> + DeviceSocketHandler<D, BC>

The inner context providing dequeuing.

Required Methods§

Source

fn with_dequed_packets_and_tx_queue_ctx<O, F: FnOnce(&mut DequeueState<Self::Meta, Self::Buffer>, &mut Self::TransmitQueueCtx<'_>) -> O>( &mut self, device_id: &Self::DeviceId, cb: F, ) -> O

Calls the function with the TX deque state and the TX queue context.

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.

Implementors§