lite_db 0.1.6

rust implement lite structure kv embedded database --- lite db. lite fast kv db for mobile, client, wasm etc.
Documentation
pub use file_io::*;
pub use mmap::*;

use crate::db::{IoType, ResultDb};

mod file_io;
mod mmap;

pub trait DbIo: Sync + Send {
    fn read(&self, buf: &mut [u8], offset: u64) -> ResultDb<usize>;
    fn write(&self, buf: &[u8]) -> ResultDb<usize>;
    fn sync(&self) -> ResultDb<()>;
    fn size(&self) -> u64;
}

pub fn new_dbio(file_name: std::path::PathBuf, io_type: IoType) -> Box<dyn DbIo> {
    match io_type {
        IoType::StdIo => Box::new(FileIo::new(file_name).unwrap()),
        IoType::MemoryMap => Box::new(MMapIo::new(file_name).unwrap()),
    }
}