| 8 | use anyhow::Result; |
| 9 | |
| 10 | pub trait OdbReader { |
| 11 | fn get(&self, key: &str) -> Result<Vec<u8>>; |
| 12 | fn get_par(&self, keys: &[&str]) -> Result<Vec<Vec<u8>>>; |
| 13 | fn glob(&self, pattern: &str) -> Result<Vec<String>>; |
| 14 | } |
| 15 | pub trait OdbWriter: OdbReader { |
| 16 | fn put(&mut self, key: &str, value: impl AsRef<[u8]>) -> Result<()>; |
| 17 | fn put_par( |