pub fn read_many<V, S>(
        &self,
        iovs: S,
        max_merged_buffer_size: usize,
        max_read_amp: Option<usize>,
    ) -> ReadManyResult<V, impl Stream<Item = (ScheduledSource, ReadManyArgs<V>)>>
    where
        V: IoVec + Unpin,
        S: Stream<Item = V> + Unpin,
    {
        self.stream_builder
            .file
            .read_many(iovs, max_merged_buffer_size, max_read_amp)
    }
/// Submit many reads and process the results in a stream-like fashion via a
/// [`ReadManyResult`].
///
/// This API will optimistically coalesce and deduplicate IO requests such
/// that two overlapping or adjacent reads will result in a single IO
/// request. This is transparent for the consumer, you will still
/// receive individual ReadResults corresponding to what you asked for.
///
/// The first argument is an iterator of [`IoVec`]. The last two
/// arguments control how aggressive the IO coalescing should be:
/// * `max_merged_buffer_size` controls how large a merged IO request can
///   be. A value of 0 disables merging completely.
/// * `max_read_amp` is optional and defines the maximum read amplification
///   you are comfortable with. If two read requests are separated by a
///   distance less than this value, they will be merged. A value `None`
///   disables all read amplification limitation.
///
/// It is not necessary to respect the `O_DIRECT` alignment of the file, and
/// this API will internally convert the positions and sizes to match.
Submit many reads and process the results in a stream-like fashion via a
[`ReadManyResult`].

This API will optimistically coalesce and deduplicate IO requests such
that two overlapping or adjacent reads will result in a single IO
request. This is transparent for the consumer, you will still
receive individual ReadResults corresponding to what you asked for.

The first argument is an iterator of [`IoVec`]. The last two
arguments control how aggressive the IO coalescing should be:
`max_merged_buffer_size` controls how large a merged IO request can
be. A value of 0 disables merging completely.
`max_read_amp` is optional and defines the maximum read amplification
you are comfortable with. If two read requests are separated by a
distance less than this value, they will be merged. A value `None`
disables all read amplification limitation.

It is not necessary to respect the `O_DIRECT` alignment of the file, and
this API will internally convert the positions and sizes to match.
Submit many reads and process the results in a stream - like fashion via a [ ` ReadManyResult ` ] . This API will optimistically coalesce and deduplicate IO requests such that two overlapping or adjacent reads will result in a single IO request . This is transparent for the consumer you will still receive individual ReadResults corresponding to what you asked for . The first argument is an iterator of [ ` IoVec ` ] . The last two arguments control how aggressive the IO coalescing should be : ` max_merged_buffer_size ` controls how large a merged IO request can be . A value of 0 disables merging completely . ` max_read_amp ` is optional and defines the maximum read amplification you are comfortable with . If two read requests are separated by a distance less than this value they will be merged . A value ` None ` disables all read amplification limitation . It is not necessary to respect the ` O_DIRECT ` alignment of the file and this API will internally convert the positions and sizes to match .
pub fn read_many<V, S>(
        &self,
        iovs: S,
        max_merged_buffer_size: usize,
        max_read_amp: Option<usize>,
    ) -> ReadManyResult<V, impl Stream<Item = (ScheduledSource, ReadManyArgs<V>)>>
    where
        V: IoVec + Unpin,
        S: Stream<Item = V> + Unpin,
    {
        self.stream_builder
            .file
            .read_many(iovs, max_merged_buffer_size, max_read_amp)
    }
pub fn read_many < V , S > ( & self , iovs : S , max_merged_buffer_size : usize , max_read_amp : Option < usize > , ) -> ReadManyResult < V , impl Stream < Item = ( ScheduledSource , ReadManyArgs < V > ) > > where V : IoVec + Unpin , S : Stream < Item = V > + Unpin , { self . stream_builder . file . read_many ( iovs , max_merged_buffer_size , max_read_amp ) }
Submit many reads and process the results in a stream-like fashion via a
[`ReadManyResult`].
Submit many reads and process the results in a stream - like fashion via a [ ` ReadManyResult ` ] .
&self
iovs
S
max_merged_buffer_size
usize
max_read_amp
Option<usize>
&self
iovs
S
max_merged_buffer_size
usize
max_read_amp
Option<usize>