pub fn receive(
rx_state: &mut VirtqueueState,
rx_pool: &mut BufferPool,
out_buffer: &mut [u8],
) -> Result<Option<usize>, RxError>Expand description
Receive a packet via VirtIO.
§Arguments
rx_state: RX virtqueue staterx_pool: RX buffer poolout_buffer: Buffer to copy received frame into
§Returns
Ok(Some(len)): Frame received,lenbytes copied (without VirtIO header)Ok(None): No frame available (normal)Err(RxError): Receive error
§Contract
- MUST return immediately (no blocking)