|
@@ -20,6 +20,11 @@ impl FileEngine for SerializedFileEngine {
|
|
|
self.files.keys().cloned().collect()
|
|
|
}
|
|
|
|
|
|
+ async fn file_size(&self, file: &str) -> Option<u64> {
|
|
|
+ let file = self.files.get(file)?;
|
|
|
+ Some(file.len() as u64)
|
|
|
+ }
|
|
|
+
|
|
|
async fn read_file(&self, file: &str) -> Option<Vec<u8>> {
|
|
|
self.files.get(file).cloned()
|
|
|
}
|
|
@@ -42,6 +47,9 @@ pub trait FileEngine {
|
|
|
// get a list of file names
|
|
|
fn files(&self) -> Vec<String>;
|
|
|
|
|
|
+ // get the size of a file
|
|
|
+ async fn file_size(&self, file: &str) -> Option<u64>;
|
|
|
+
|
|
|
// read a file to bytes
|
|
|
async fn read_file(&self, file: &str) -> Option<Vec<u8>>;
|
|
|
|