Trait netstack3_device::queue::TransmitQueueContext

source ·
pub trait TransmitQueueContext<D: Device, BC>: TransmitQueueCommon<D, BC> {
    // Required methods
    fn with_transmit_queue_mut<O, F: FnOnce(&mut TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>(
        &mut self,
        device_id: &Self::DeviceId,
        cb: F,
    ) -> O;
    fn with_transmit_queue<O, F: FnOnce(&TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>(
        &mut self,
        device_id: &Self::DeviceId,
        cb: F,
    ) -> O;
    fn send_frame(
        &mut self,
        bindings_ctx: &mut BC,
        device_id: &Self::DeviceId,
        dequeue_context: Option<&mut Self::DequeueContext>,
        meta: Self::Meta,
        buf: Self::Buffer,
    ) -> Result<(), DeviceSendFrameError>;
}
Expand description

The execution context for a transmit queue.

Required Methods§

source

fn with_transmit_queue_mut<O, F: FnOnce(&mut TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>( &mut self, device_id: &Self::DeviceId, cb: F, ) -> O

Calls cb with mutable access to the queue state.

source

fn with_transmit_queue<O, F: FnOnce(&TransmitQueueState<Self::Meta, Self::Buffer, Self::Allocator>) -> O>( &mut self, device_id: &Self::DeviceId, cb: F, ) -> O

Calls cb with immutable access to the queue state.

source

fn send_frame( &mut self, bindings_ctx: &mut BC, device_id: &Self::DeviceId, dequeue_context: Option<&mut Self::DequeueContext>, meta: Self::Meta, buf: Self::Buffer, ) -> Result<(), DeviceSendFrameError>

Send a frame out the device.

This method may not block - if the device is not ready, an appropriate error must be returned.

Object Safety§

This trait is not object safe.

Implementors§