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
impl Chain
sourcepub fn with_lengths(
readable: &[u32],
writable: &[u32],
mem: &IdentityDriverMem,
) -> Self
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.
sourcepub fn with_data<T: Copy>(
readable: &[&[T]],
writable: &[u32],
mem: &IdentityDriverMem,
) -> Self
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.
sourcepub fn with_exact_data(chain: &[(DescAccess, u64, u32)]) -> Self
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> 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