AsyncReadManaged

Trait AsyncReadManaged 

Source
pub trait AsyncReadManaged {
    type BufferPool;
    type Buffer<'a>;

    // Required method
    async fn read_managed<'a>(
        &mut self,
        buffer_pool: &'a Self::BufferPool,
        len: usize,
    ) -> Result<Self::Buffer<'a>, Error>;
}
Available on crate feature io only.
Expand description

§AsyncReadManaged

Async read with buffer pool

Required Associated Types§

Source

type BufferPool

Buffer pool type

Source

type Buffer<'a>

Filled buffer type

Required Methods§

Source

async fn read_managed<'a>( &mut self, buffer_pool: &'a Self::BufferPool, len: usize, ) -> Result<Self::Buffer<'a>, Error>

Read some bytes from this source with Self::BufferPool and return a Self::Buffer.

If len == 0, will use Self::BufferPool inner buffer size as the max len, if len > 0, min(len, inner buffer size) will be the read max len

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> AsyncReadManaged for Cursor<A>
where A: AsyncReadManagedAt, <A as AsyncReadManagedAt>::Buffer<'a>: for<'a> Deref<Target = [u8]>,

Source§

type Buffer<'a> = <A as AsyncReadManagedAt>::Buffer<'a>

Source§

type BufferPool = <A as AsyncReadManagedAt>::BufferPool

Source§

async fn read_managed<'a>( &mut self, buffer_pool: &'a <Cursor<A> as AsyncReadManaged>::BufferPool, len: usize, ) -> Result<<Cursor<A> as AsyncReadManaged>::Buffer<'a>, Error>

Implementors§

Source§

impl AsyncReadManaged for &NamedPipeClient

Source§

impl AsyncReadManaged for &NamedPipeServer

Source§

impl AsyncReadManaged for &Stdin

Source§

impl AsyncReadManaged for &TcpStream

Source§

impl AsyncReadManaged for &UnixStream

Source§

impl AsyncReadManaged for NamedPipeClient

Source§

impl AsyncReadManaged for NamedPipeServer

Source§

impl AsyncReadManaged for Stdin

Source§

impl AsyncReadManaged for TcpStream

Source§

impl AsyncReadManaged for UnixStream

Source§

impl AsyncReadManaged for ChildStderr

Source§

impl AsyncReadManaged for ChildStdout

Source§

impl<T> AsyncReadManaged for &AsyncFd<T>
where T: AsFd + 'static,

Source§

impl<T> AsyncReadManaged for AsyncFd<T>
where T: AsFd + 'static,