fn read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        req: RequestInfo,
        path: &'life1 Path,
        fh: u64,
        offset: u64,
        size: u32,
        callback: impl for<'r> FnOnce(ResultSlice<'r>) -> CallbackResult + Send + 'async_trait,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = CallbackResult> + Send + 'async_trait>>
        where 'life0: 'async_trait,
              'life1: 'async_trait,
              Self: Sync + 'async_trait,
    {
        async fn __default<'async_trait, AsyncTrait: ?Sized + FilesystemMT + Sync>(
            _self: &AsyncTrait,
            _req: RequestInfo,
            _path: &Path,
            _fh: u64,
            _offset: u64,
            _size: u32,
            callback: impl for<'r> FnOnce(ResultSlice<'r>) -> CallbackResult + Send + 'async_trait,
        ) -> CallbackResult {
            callback(Err(libc::ENOSYS))
        }
        Box::pin(__default(self, req, path, fh, offset, size, callback))
    }
/// Read from a file.
///
/// Note that it is not an error for this call to request to read past the end of the file, and
/// you should only return data up to the end of the file (i.e. the number of bytes returned
/// will be fewer than requested; possibly even zero). Do not extend the file in this case.
///
/// * `path`: path to the file.
/// * `fh`: file handle returned from the `open` call.
/// * `offset`: offset into the file to start reading.
/// * `size`: number of bytes to read.
/// * `callback`: a callback that must be invoked to return the result of the operation: either
///    the result data as a slice, or an error code.
///
/// Return the return value from the `callback` function.
// NOTE: this is written out as a slightly modified version of what async-trait would emit if
// this was written `async fn read`. Once https://github.com/dtolnay/async-trait/issues/126 is
// fixed, this can be written the normal way.
Read from a file.
Note that it is not an error for this call to request to read past the end of the file, and
you should only return data up to the end of the file . Do not extend the file in this case.

`path`: path to the file.
`fh`: file handle returned from the `open` call.
`offset`: offset into the file to start reading.
`size`: number of bytes to read.
`callback`: a callback that must be invoked to return the result of the operation: either
the result data as a slice, or an error code.

Return the return value from the `callback` function.
NOTE: this is written out as a slightly modified version of what async-trait would emit if
this was written `async fn read`.
Read from a file . Note that it is not an error for this call to request to read past the end of the file and you should only return data up to the end of the file . Do not extend the file in this case . ` path ` : path to the file . ` fh ` : file handle returned from the ` open ` call . ` offset ` : offset into the file to start reading . ` size ` : number of bytes to read . ` callback ` : a callback that must be invoked to return the result of the operation : either the result data as a slice or an error code . Return the return value from the ` callback ` function . NOTE : this is written out as a slightly modified version of what async - trait would emit if this was written ` async fn read ` .
fn read<'life0, 'life1, 'async_trait>(
        &'life0 self,
        req: RequestInfo,
        path: &'life1 Path,
        fh: u64,
        offset: u64,
        size: u32,
        callback: impl for<'r> FnOnce(ResultSlice<'r>) -> CallbackResult + Send + 'async_trait,
    ) -> std::pin::Pin<Box<dyn std::future::Future<Output = CallbackResult> + Send + 'async_trait>>
        where 'life0: 'async_trait,
              'life1: 'async_trait,
              Self: Sync + 'async_trait,
    {
        async fn __default<'async_trait, AsyncTrait: ?Sized + FilesystemMT + Sync>(
            _self: &AsyncTrait,
            _req: RequestInfo,
            _path: &Path,
            _fh: u64,
            _offset: u64,
            _size: u32,
            callback: impl for<'r> FnOnce(ResultSlice<'r>) -> CallbackResult + Send + 'async_trait,
        ) -> CallbackResult {
            callback(Err(libc::ENOSYS))
        }
        Box::pin(__default(self, req, path, fh, offset, size, callback))
    }
fn read < ' life0 , ' life1 , ' async_trait > ( & ' life0 self , req : RequestInfo , path : & ' life1 Path , fh : u64 , offset : u64 , size : u32 , callback : impl for < ' r > FnOnce ( ResultSlice < ' r > ) -> CallbackResult + Send + ' async_trait , ) -> std :: pin :: Pin < Box < dyn std :: future :: Future < Output = CallbackResult > + Send + ' async_trait > > where ' life0 : ' async_trait , ' life1 : ' async_trait , Self : Sync + ' async_trait , { async fn __default < ' async_trait , AsyncTrait : ? Sized + FilesystemMT + Sync > ( _self : & AsyncTrait , _req : RequestInfo , _path : & Path , _fh : u64 , _offset : u64 , _size : u32 , callback : impl for < ' r > FnOnce ( ResultSlice < ' r > ) -> CallbackResult + Send + ' async_trait , ) -> CallbackResult { callback ( Err ( libc :: ENOSYS ) ) } Box :: pin ( __default ( self , req , path , fh , offset , size , callback ) ) }
Read from a file.
Read from a file .
&'life0 self
req
RequestInfo
path
&'life1 Path
fh
u64
offset
u64
size
u32
callback
impl for<'r> FnOnce(ResultSlice<'r>) -> CallbackResult + Send + 'async_trait
&'life0 self
req
RequestInfo
path
&'life1 Path
fh
u64
offset
u64
size
u32
callback
impl for<'r> FnOnce(ResultSlice<'r>) -> CallbackResult + Send + 'async_trait