Struct rustdb::atomfile::AtomicFile [−][src]
pub struct AtomicFile {
pub map: Mutex<BTreeMap<u64, DataSlice>>,
pub stg: Box<dyn Storage>,
pub upd: Box<dyn Storage>,
}
Expand description
AtomicFile makes sure that database updates are all-or-nothing. Keeps a list of outstanding writes which have not yet been written to the underlying file.
Fields
map: Mutex<BTreeMap<u64, DataSlice>>
Map of existing outstanding writes. Note the key is the file address of the last byte written.
stg: Box<dyn Storage>
upd: Box<dyn Storage>
Implementations
Trait Implementations
Get the size of the underlying storage. Note : this is valid initially and after a commit but is no updated by write operations. Read more
Write Data slice to storage.