pub enum VirtqueueBuffer<'b> {
DeviceReadable(SubSliceMutImmut<'b, u8>),
DeviceWriteable(SubSliceMut<'b, u8>),
}Expand description
A slice of memory to be shared with a VirtIO device, either as device-readable or device-writeable.
We can use either mutable or immutable Rust slices to expose device-readable buffers. The VirtIO Specification Version 1.3 states that, for Split Virtqueues:
A device MUST NOT write to a device-readable buffer, and a device SHOULD NOT read a device-writable buffer (it MAY do so for debugging or diagnostic purposes).
Variants§
DeviceReadable(SubSliceMutImmut<'b, u8>)
DeviceWriteable(SubSliceMut<'b, u8>)
Trait Implementations§
Auto Trait Implementations§
impl<'b> Freeze for VirtqueueBuffer<'b>
impl<'b> RefUnwindSafe for VirtqueueBuffer<'b>
impl<'b> Send for VirtqueueBuffer<'b>
impl<'b> Sync for VirtqueueBuffer<'b>
impl<'b> Unpin for VirtqueueBuffer<'b>
impl<'b> UnsafeUnpin for VirtqueueBuffer<'b>
impl<'b> !UnwindSafe for VirtqueueBuffer<'b>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more