netstack3_device::queue

Trait ReceiveDequeContext

Source
pub trait ReceiveDequeContext<D: Device, BC>: ReceiveQueueTypes<D, BC> {
    type ReceiveQueueCtx<'a>: ReceiveQueueContext<D, BC, Meta = Self::Meta, Buffer = Self::Buffer, DeviceId = Self::DeviceId> + ReceiveDequeFrameContext<D, BC, Meta = Self::Meta, Buffer = Self::Buffer, DeviceId = Self::DeviceId>;

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

The core execution context for dequeuing frames from the receive queue.

Required Associated Types§

Source

type ReceiveQueueCtx<'a>: ReceiveQueueContext<D, BC, Meta = Self::Meta, Buffer = Self::Buffer, DeviceId = Self::DeviceId> + ReceiveDequeFrameContext<D, BC, Meta = Self::Meta, Buffer = Self::Buffer, DeviceId = Self::DeviceId>

The inner dequeueing context.

Required Methods§

Source

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

Calls the function with the RX deque state and the RX 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§