[][src]Struct iovec::IoVec

pub struct IoVec { /* fields omitted */ }

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 same. IoVec provides a portable compatibility layer.

The IoVec behaves like a Rust slice, providing the same functions. It also provides conversion functions to and from the OS specific vectored types.

Examples

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"[..]);

Panics

Attempting to convert a zero-length slice or a slice longer than MAX_LENGTH to an IoVec will result in a panic.

Methods

impl IoVec[src]

pub fn from_bytes(slice: &[u8]) -> Option<&IoVec>[src]

pub fn from_bytes_mut(slice: &mut [u8]) -> Option<&mut IoVec>[src]

Trait Implementations

impl DerefMut for IoVec[src]

impl Deref for IoVec[src]

type Target = [u8]

The resulting type after dereferencing.

Auto Trait Implementations

impl Send for IoVec

impl Unpin for IoVec

impl Sync for IoVec

impl UnwindSafe for IoVec

impl RefUnwindSafe for IoVec

Blanket Implementations

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]