usefutures_util::Stream;usecrate::{AsyncReadManaged, AsyncReadManagedAt, IoResult};/// # AsyncReadMulti
////// Async read with buffer pool and returns a stream of managed buffers.
pubtraitAsyncReadMulti: AsyncReadManaged {/// Read some bytes from this source and return a stream of
/// [`AsyncReadManaged::Buffer`].
////// # Implementation Note
////// - If `len` == 0, implementation should use buffer's size as `len`
/// - if `len` > 0, `min(len, buffer_size)` will be the max number of bytes
/// to be read each time.
fnread_multi(&mutself, len:usize)-> impl Stream<Item = IoResult<Self::Buffer>>;}/// # AsyncReadMultiAt
////// Async read with buffer pool and position, returns a stream of managed
/// buffers.
pubtraitAsyncReadMultiAt: AsyncReadManagedAt {/// Read some bytes from this source at position and return a stream of
/// [`AsyncReadManagedAt::Buffer`].
////// # Implementation Note
////// - If `len` == 0, implementation should use buffer's size as `len`
/// - if `len` > 0, `min(len, buffer_size)` will be the max number of bytes
/// to be read each time.
fnread_multi_at(&self, len:usize, pos:u64)-> impl Stream<Item = IoResult<Self::Buffer>>;}