Continuously read,write to disk, using random offsets and lengths. Adapted from random-access-storage/random-access-file.
extern crate random_access_storage;
extern crate random_access_disk;
extern crate tempfile;
extern crate failure;
use random_access_disk::RandomAccessDisk;
use random_access_storage::RandomAccess;
use tempfile::Builder;
use failure::Error;
fn main () -> Result<(), Error>{
let dir = Builder::new()
.prefix("random-access-disk")
.tempdir()?;
let file = dir.path().join("example.db");
let mut file = RandomAccessDisk::open(file)?;
file.write(0, b"hello")?;
file.write(5, b" world")?;
let text = file.read(0, 11)?;
assert_eq!(&text, b"hello world");
Ok(())
}
$ cargo add random-access-disk
MIT OR Apache-2.0