A specialized byte slice type for performing vectored I/O operations.
On all systems, the types needed to perform vectored I/O systems have the
same size as Rust's
slice. However, the layout is not necessarily the
IoVec provides a portable compatibility layer.
IoVec behaves like a Rust
slice, providing the same functions.
It also provides conversion functions to and from the OS specific vectored
use iovec::IoVec; let mut data = vec!; data.extend_from_slice(b"hello"); let iovec: &IoVec = data.as_slice().into(); assert_eq!(&iovec[..], &b"hello"[..]);
Attempting to convert a zero-length slice or a slice longer than
MAX_LENGTH to an
IoVec will result in a panic.