pub trait FileAccess:
AsyncSeek
+ Send
+ Unpin
+ 'static {
// Required method
fn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
len: usize,
) -> Poll<Result<Bytes, Error>>;
}Expand description
Trait that implements all the necessary file access methods used for serving files.
This trait exists as an alternative to AsyncRead that returns a Bytes directly, potentially
eliminating a copy. Unlike AsyncRead, this does mean the implementation is responsible for
providing the read buffer.
Required Methods§
Sourcefn poll_read(
self: Pin<&mut Self>,
cx: &mut Context<'_>,
len: usize,
) -> Poll<Result<Bytes, Error>>
fn poll_read( self: Pin<&mut Self>, cx: &mut Context<'_>, len: usize, ) -> Poll<Result<Bytes, Error>>
Attempts to read from the file.
If no data is available for reading, the method returns Poll::Pending and arranges for
the current task (via cx.waker()) to receive a notification when the object becomes
readable or is closed.
An empty Bytes return value indicates EOF.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".