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}