Struct tokio::io::util::vec_with_initialized::VecWithInitialized
source · pub(crate) struct VecWithInitialized<V> {
vec: V,
num_initialized: usize,
starting_capacity: usize,
}
Expand description
This struct wraps a Vec<u8>
or &mut Vec<u8>
, combining it with a
num_initialized
, which keeps track of the number of initialized bytes
in the unused capacity.
The purpose of this struct is to remember how many bytes were initialized
through a ReadBuf
from call to call.
This struct has the safety invariant that the first num_initialized
of the
vector’s allocation must be initialized at any time.
Fields§
§vec: V
§num_initialized: usize
§starting_capacity: usize
Implementations§
source§impl<V> VecWithInitialized<V>where
V: VecU8,
impl<V> VecWithInitialized<V>where
V: VecU8,
pub(crate) fn new(vec: V) -> Self
pub(crate) fn reserve(&mut self, num_bytes: usize)
pub(crate) fn is_empty(&self) -> bool
pub(crate) fn get_read_buf<'a>(&'a mut self) -> ReadBuf<'a>
pub(crate) fn apply_read_buf(&mut self, parts: ReadBufParts)
pub(crate) fn try_small_read_first(&self, num_bytes: usize) -> bool
Trait Implementations§
Auto Trait Implementations§
impl<V> Freeze for VecWithInitialized<V>where
V: Freeze,
impl<V> RefUnwindSafe for VecWithInitialized<V>where
V: RefUnwindSafe,
impl<V> Send for VecWithInitialized<V>where
V: Send,
impl<V> Sync for VecWithInitialized<V>where
V: Sync,
impl<V> Unpin for VecWithInitialized<V>where
V: Unpin,
impl<V> UnwindSafe for VecWithInitialized<V>where
V: 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