pub trait Storage: Send + Sync {
// Required methods
fn write_all(
&mut self,
file_idx: usize,
offset: u64,
data: &[u8],
) -> Result<()>;
fn read_exact(
&mut self,
file_idx: usize,
offset: u64,
buf: &mut [u8],
) -> Result<bool>;
}