struct DescriptorChainRegions {
regions: SmallVec<[MemRegion; 2]>,
current_region_index: usize,
current_region_offset: usize,
bytes_consumed: usize,
}Fields§
§regions: SmallVec<[MemRegion; 2]>§current_region_index: usize§current_region_offset: usize§bytes_consumed: usizeImplementations§
Source§impl DescriptorChainRegions
impl DescriptorChainRegions
fn new(regions: SmallVec<[MemRegion; 2]>) -> Self
fn available_bytes(&self) -> usize
fn bytes_consumed(&self) -> usize
Sourcefn get_remaining_regions(&self) -> MemRegionIter<'_>
fn get_remaining_regions(&self) -> MemRegionIter<'_>
Returns all the remaining buffers in the DescriptorChain. Calling this function does not
consume any bytes from the DescriptorChain. Instead callers should use the consume
method to advance the DescriptorChain. Multiple calls to get with no intervening calls
to consume will return the same data.
Sourcefn get_remaining_regions_with_count(&self, count: usize) -> MemRegionIter<'_>
fn get_remaining_regions_with_count(&self, count: usize) -> MemRegionIter<'_>
Like get_remaining_regions but guarantees that the combined length of all the returned
iovecs is not greater than count. The combined length of the returned iovecs may be less
than count but will always be greater than 0 as long as there is still space left in the
DescriptorChain.
Sourcefn get_remaining<'mem>(
&self,
mem: &'mem GuestMemory,
) -> SmallVec<[VolatileSlice<'mem>; 16]>
fn get_remaining<'mem>( &self, mem: &'mem GuestMemory, ) -> SmallVec<[VolatileSlice<'mem>; 16]>
Returns all the remaining buffers in the DescriptorChain as VolatileSlices of the given
GuestMemory. Calling this function does not consume any bytes from the DescriptorChain.
Instead callers should use the consume method to advance the DescriptorChain. Multiple
calls to get with no intervening calls to consume will return the same data.
Sourcefn get_remaining_with_count<'mem>(
&self,
mem: &'mem GuestMemory,
count: usize,
) -> SmallVec<[VolatileSlice<'mem>; 16]>
fn get_remaining_with_count<'mem>( &self, mem: &'mem GuestMemory, count: usize, ) -> SmallVec<[VolatileSlice<'mem>; 16]>
Like ‘get_remaining_regions_with_count’ except convert the offsets to volatile slices in the ‘GuestMemory’ given by ‘mem’.
Sourcefn consume(&mut self, count: usize)
fn consume(&mut self, count: usize)
Consumes count bytes from the DescriptorChain. If count is larger than
self.available_bytes() then all remaining bytes in the DescriptorChain will be consumed.