Trait CancelableAsyncWriteRent

Source
pub trait CancelableAsyncWriteRent: AsyncWriteRent {
    // Required methods
    fn cancelable_write<T: IoBuf>(
        &mut self,
        buf: T,
        c: CancelHandle,
    ) -> impl Future<Output = BufResult<usize, T>>;
    fn cancelable_writev<T: IoVecBuf>(
        &mut self,
        buf_vec: T,
        c: CancelHandle,
    ) -> impl Future<Output = BufResult<usize, T>>;
    fn cancelable_flush(
        &mut self,
        c: CancelHandle,
    ) -> impl Future<Output = Result<()>>;
    fn cancelable_shutdown(
        &mut self,
        c: CancelHandle,
    ) -> impl Future<Output = Result<()>>;
}
Expand description

CancelableAsyncWriteRent: async write with a ownership of a buffer and ability to cancel io.

Required Methods§

Source

fn cancelable_write<T: IoBuf>( &mut self, buf: T, c: CancelHandle, ) -> impl Future<Output = BufResult<usize, T>>

Same as write(2)

Source

fn cancelable_writev<T: IoVecBuf>( &mut self, buf_vec: T, c: CancelHandle, ) -> impl Future<Output = BufResult<usize, T>>

Same as writev(2)

Source

fn cancelable_flush( &mut self, c: CancelHandle, ) -> impl Future<Output = Result<()>>

Flush buffered data if needed

Source

fn cancelable_shutdown( &mut self, c: CancelHandle, ) -> impl Future<Output = Result<()>>

Same as shutdown

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<A: ?Sized + CancelableAsyncWriteRent> CancelableAsyncWriteRent for &mut A

Source§

fn cancelable_write<T: IoBuf>( &mut self, buf: T, c: CancelHandle, ) -> impl Future<Output = BufResult<usize, T>>

Source§

fn cancelable_writev<T: IoVecBuf>( &mut self, buf_vec: T, c: CancelHandle, ) -> impl Future<Output = BufResult<usize, T>>

Source§

fn cancelable_flush( &mut self, c: CancelHandle, ) -> impl Future<Output = Result<()>>

Source§

fn cancelable_shutdown( &mut self, c: CancelHandle, ) -> impl Future<Output = Result<()>>

Implementors§