Struct VirtqueueBuffer

Source
pub struct VirtqueueBuffer<'b> {
    pub buf: &'b mut [u8],
    pub len: usize,
    pub device_writeable: bool,
}
Expand description

A slice of memory to be shared with a VirtIO device.

The VirtqueueBuffer allows to limit the portion of the passed slice to be shared with the device through the len field. Furthermore, the device can be asked to not write to the shared buffer by setting device_writeable to false.

The SplitVirtqueue does not actually enfore that a VirtIO device adheres to the device_writeable flag, although compliant devices should.

Fields§

§buf: &'b mut [u8]§len: usize§device_writeable: bool

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> !UnwindSafe for VirtqueueBuffer<'b>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.