browser_fs/
read.rs

1use std::io::Result;
2use std::pin::Pin;
3use std::task::{Context, Poll};
4
5use futures_lite::AsyncRead;
6
7use crate::external::read_access_handle;
8
9impl AsyncRead for crate::File {
10    fn poll_read(
11        mut self: Pin<&mut Self>,
12        _cx: &mut Context<'_>,
13        buf: &mut [u8],
14    ) -> Poll<Result<usize>> {
15        let received: u32 = read_access_handle(&self.access, buf, self.offset);
16        self.offset += received;
17        Poll::Ready(Ok(received as usize))
18    }
19}