hermitdb 0.1.0

A private decentralized database replicated over Git (or any other distributed log)
1
2
3
4
5
6
7
8
9
10
11
12
13
use error::{Result};
use db;
use crypto::Session;

pub trait Dao {
    // TAI: prefix should be bytes instead of str hmmmmm
    fn val(prefix: &str, db: &db::DB, sess: &Session) -> Result<Option<Self>>
        where Self: Sized;

    fn update<F>(prefix: &str, db: &mut db::DB, sess: &Session, func: F) -> Result<()>
        where Self: Sized,
              F: FnMut(Option<Self>) -> Option<Self>;
}