1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
pub mod engines; pub mod prelude { pub use super::{engines::prelude::*, engines::*}; } #[derive(Debug, Clone)] pub enum StorageError { /// path to resource. CouldNotLoadData(String), /// path to resource. CouldNotStoreData(String), } pub type StorageResult<T> = Result<T, StorageError>; pub trait StorageEngine: Send + Sync { fn load(&mut self, path: &str) -> StorageResult<Vec<u8>>; fn store(&mut self, path: &str, data: &[u8]) -> StorageResult<()>; }