Implement get and put on ClientDB trait

This commit is contained in:
Paul Hauner 2018-09-18 10:27:29 +10:00
parent 33b1e6ddf4
commit 3876c0261a

View File

@ -4,18 +4,23 @@ mod disk_db;
pub use self::disk_db::DiskDB;
type DBValue = Vec<u8>;
#[derive(Debug)]
pub struct DBError {
message: String
}
impl DBError {
fn new(message: String) -> Self {
pub fn new(message: String) -> Self {
Self { message }
}
}
pub trait ClientDB: Sync + Send {
fn get(&self, col: &str, key: &[u8])
-> Result<Option<&[u8]>, DBError>;
-> Result<Option<DBValue>, DBError>;
fn put(&self, col: &str, key: &[u8], val: &[u8])
-> Result<(), DBError>;
}