pub struct VectoredSlice<T> { /* private fields */ }Expand description
Return type for IoVectoredBuf::slice and
IoVectoredBufMut::slice_mut.
§Behavior
When constructing the VectoredSlice, it will first compute how
many buffers to skip. Imaging vectored buffers as concatenated slices, there
will be uninitialized “slots” in between. This slice type provides two
behaviors of how to skip through those slots, controlled by the marker type
B:
IoVectoredBuf::slice: Ignore uninitialized slots, i.e., skipbegin-many initialized bytes.IoVectoredBufMut::slice_mut: Consider uninitialized slots, i.e., skipbegin-many bytes.
This will only affect how the slice is being constructed. The resulting
slice will always expose all of the remaining bytes, no matter initialized
or not (in particular, IoVectoredBufMut::iter_uninit_slice).
Implementations§
Source§impl<T> VectoredSlice<T>
impl<T> VectoredSlice<T>
Trait Implementations§
Source§impl<T> IntoInner for VectoredSlice<T>
impl<T> IntoInner for VectoredSlice<T>
Source§impl<T: IoVectoredBuf> IoVectoredBuf for VectoredSlice<T>
impl<T: IoVectoredBuf> IoVectoredBuf for VectoredSlice<T>
Source§fn iter_slice(&self) -> impl Iterator<Item = &[u8]>
fn iter_slice(&self) -> impl Iterator<Item = &[u8]>
An iterator of initialized slice of the buffers.
Source§fn owned_iter(self) -> Result<VectoredBufIter<Self>, Self>where
Self: Sized,
fn owned_iter(self) -> Result<VectoredBufIter<Self>, Self>where
Self: Sized,
Wrap self into an owned iterator.
Source§impl<T: IoVectoredBufMut> IoVectoredBufMut for VectoredSlice<T>
impl<T: IoVectoredBufMut> IoVectoredBufMut for VectoredSlice<T>
Source§fn iter_uninit_slice(&mut self) -> impl Iterator<Item = &mut [MaybeUninit<u8>]>
fn iter_uninit_slice(&mut self) -> impl Iterator<Item = &mut [MaybeUninit<u8>]>
An iterator of maybe uninitialized slice of the buffers.
Source§fn total_capacity(&mut self) -> usize
fn total_capacity(&mut self) -> usize
The total capacity of all buffers.
Source§impl<T: SetLen> SetLen for VectoredSlice<T>
impl<T: SetLen> SetLen for VectoredSlice<T>
Auto Trait Implementations§
impl<T> Freeze for VectoredSlice<T>where
T: Freeze,
impl<T> RefUnwindSafe for VectoredSlice<T>where
T: RefUnwindSafe,
impl<T> Send for VectoredSlice<T>where
T: Send,
impl<T> Sync for VectoredSlice<T>where
T: Sync,
impl<T> Unpin for VectoredSlice<T>where
T: Unpin,
impl<T> UnwindSafe for VectoredSlice<T>where
T: UnwindSafe,
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