Skip to main content

FileRead

Trait FileRead 

Source
pub trait FileRead:
    Send
    + Sync
    + Unpin
    + 'static {
    // Required method
    fn read<'life0, 'async_trait>(
        &'life0 self,
        range: Range<u64>,
    ) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
}
Expand description

Trait for reading file.

§TODO

It’s possible for us to remove the async_trait, but we need to figure out how to handle the object safety.

Required Methods§

Source

fn read<'life0, 'async_trait>( &'life0 self, range: Range<u64>, ) -> Pin<Box<dyn Future<Output = Result<Bytes>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Read file content with given range.

TODO: we can support reading non-contiguous bytes in the future.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl FileRead for AesGcmFileRead

Source§

impl<T: AsRef<dyn FileRead> + Send + Sync + Unpin + 'static> FileRead for T