file_storage/op/file/read/
file_read.rs

1use std::io::Read;
2
3/// A file read operation.
4pub struct FileRead {
5    pub(crate) inner: ReadFileInner,
6}
7
8pub(crate) enum ReadFileInner {
9    Local(crate::LocalFileRead),
10    #[cfg(feature = "r2")]
11    R2(crate::R2FileRead),
12}
13
14impl Read for FileRead {
15    fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {
16        match &mut self.inner {
17            ReadFileInner::Local(local) => local.read(buf),
18            #[cfg(feature = "r2")]
19            ReadFileInner::R2(r2) => r2.read(buf),
20        }
21    }
22}