Struct virtio_device::fake_queue::Chain

source ·
pub struct Chain { /* private fields */ }
Expand description

Descriptor chain that can be published in a FakeQueue

Implementations§

source§

impl Chain

source

pub fn with_lengths( readable: &[u32], writable: &[u32], mem: &IdentityDriverMem, ) -> Self

Build a descriptor chain with zeroed readable and writable descriptors.

For every value in the readable and writable slice provided, allocates a descriptor of that many bytes in the descriptor chain.

source

pub fn with_data<T: Copy>( readable: &[&[T]], writable: &[u32], mem: &IdentityDriverMem, ) -> Self

Build a descriptor chain providing data for readable descriptors.

Similar to with_lengths except the readable descriptors are populated with a copy of the provided data slice instead.

source

pub fn with_exact_data(chain: &[(DescAccess, u64, u32)]) -> Self

Build a descriptor chain with raw data references.

Does not allocate data for any descriptors, instead puts the provided address and length directly into the final descriptor. This is intentionally designed to allow to you to build corrupt and invalid descriptor chains for the purposes of testing.

Auto Trait Implementations§

§

impl Freeze for Chain

§

impl RefUnwindSafe for Chain

§

impl Send for Chain

§

impl Sync for Chain

§

impl Unpin for Chain

§

impl UnwindSafe for Chain

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>,

§

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>,

§

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.