Trait AsIobuf

Source
pub unsafe trait AsIobuf: Sized {
    // Required methods
    fn as_iobuf(&self) -> iovec;
    fn as_iobuf_slice(bufs: &[Self]) -> &[iovec];
    fn as_iobuf_mut_slice(bufs: &mut [Self]) -> &mut [iovec];
}
Expand description

Trait for types that can be converted into an iovec that can be referenced by a syscall for the lifetime of this object.

§Safety

This trait is unsafe because interfaces that use this trait depend on the base pointer and size being accurate.

Required Methods§

Source

fn as_iobuf(&self) -> iovec

Returns a iovec that describes a contiguous region of memory.

Source

fn as_iobuf_slice(bufs: &[Self]) -> &[iovec]

Returns a slice of iovecs that each describe a contiguous region of memory.

Source

fn as_iobuf_mut_slice(bufs: &mut [Self]) -> &mut [iovec]

Returns a mutable slice of iovecs that each describe a contiguous region of memory.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl AsIobuf for IoSlice<'_>

Source§

fn as_iobuf(&self) -> iovec

Source§

fn as_iobuf_slice(bufs: &[Self]) -> &[iovec]

Source§

fn as_iobuf_mut_slice(bufs: &mut [Self]) -> &mut [iovec]

Source§

impl AsIobuf for IoSliceMut<'_>

Source§

fn as_iobuf(&self) -> iovec

Source§

fn as_iobuf_slice(bufs: &[Self]) -> &[iovec]

Source§

fn as_iobuf_mut_slice(bufs: &mut [Self]) -> &mut [iovec]

Implementors§