net_backend

Trait BufferAccess

Source
pub trait BufferAccess: 'static + Send {
    // Required methods
    fn guest_memory(&self) -> &GuestMemory;
    fn write_data(&mut self, id: RxId, data: &[u8]);
    fn guest_addresses(&mut self, id: RxId) -> &[RxBufferSegment];
    fn capacity(&self, id: RxId) -> u32;
    fn write_header(&mut self, id: RxId, metadata: &RxMetadata);

    // Provided method
    fn write_packet(&mut self, id: RxId, metadata: &RxMetadata, data: &[u8]) { ... }
}
Expand description

A trait for providing access to guest memory buffers.

Required Methods§

Source

fn guest_memory(&self) -> &GuestMemory

The associated guest memory accessor.

Source

fn write_data(&mut self, id: RxId, data: &[u8])

Writes data to the specified buffer.

Source

fn guest_addresses(&mut self, id: RxId) -> &[RxBufferSegment]

The guest addresses of the specified buffer.

Source

fn capacity(&self, id: RxId) -> u32

The capacity of the specified buffer in bytes.

Source

fn write_header(&mut self, id: RxId, metadata: &RxMetadata)

Sets the packet metadata for the receive.

Provided Methods§

Source

fn write_packet(&mut self, id: RxId, metadata: &RxMetadata, data: &[u8])

Writes the packet header and data in a single call.

Implementors§