pub trait Reader:
Debug
+ Send
+ Sync
+ DeepSizeOf {
// Required methods
fn path(&self) -> &Path;
fn block_size(&self) -> usize;
fn io_parallelism(&self) -> usize;
fn size(&self) -> BoxFuture<'_, Result<usize>>;
fn get_range(
&self,
range: Range<usize>,
) -> BoxFuture<'static, Result<Bytes>>;
fn get_all(&self) -> BoxFuture<'_, Result<Bytes>>;
// Provided methods
fn get_stream(&self) -> BoxFuture<'_, Result<ByteStream>> { ... }
fn get_range_stream(
&self,
range: Range<usize>,
) -> BoxFuture<'_, Result<ByteStream>> { ... }
}Required Methods§
fn path(&self) -> &Path
Sourcefn block_size(&self) -> usize
fn block_size(&self) -> usize
Suggest optimal I/O size per storage device.
Sourcefn io_parallelism(&self) -> usize
fn io_parallelism(&self) -> usize
Suggest optimal I/O parallelism per storage device.
Provided Methods§
Sourcefn get_stream(&self) -> BoxFuture<'_, Result<ByteStream>>
fn get_stream(&self) -> BoxFuture<'_, Result<ByteStream>>
Read the entire object as a byte stream.
Sourcefn get_range_stream(
&self,
range: Range<usize>,
) -> BoxFuture<'_, Result<ByteStream>>
fn get_range_stream( &self, range: Range<usize>, ) -> BoxFuture<'_, Result<ByteStream>>
Read a byte range as a byte stream.