Struct lsm_tree::SequenceNumberCounter
source · pub struct SequenceNumberCounter(/* private fields */);
Expand description
Thread-safe sequence number generator
§Examples
let tree = Config::new(path).open()?;
let seqno = SequenceNumberCounter::default();
// Do some inserts...
tree.insert("a".as_bytes(), "abc", seqno.next());
tree.insert("b".as_bytes(), "abc", seqno.next());
tree.insert("c".as_bytes(), "abc", seqno.next());
// Maybe create a snapshot
let snapshot = tree.snapshot(seqno.get());
// Create a batch
let batch_seqno = seqno.next();
tree.remove("a".as_bytes(), batch_seqno);
tree.remove("b".as_bytes(), batch_seqno);
tree.remove("c".as_bytes(), batch_seqno);
Implementations§
Trait Implementations§
source§impl Clone for SequenceNumberCounter
impl Clone for SequenceNumberCounter
source§fn clone(&self) -> SequenceNumberCounter
fn clone(&self) -> SequenceNumberCounter
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for SequenceNumberCounter
impl Debug for SequenceNumberCounter
source§impl Default for SequenceNumberCounter
impl Default for SequenceNumberCounter
source§fn default() -> SequenceNumberCounter
fn default() -> SequenceNumberCounter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SequenceNumberCounter
impl RefUnwindSafe for SequenceNumberCounter
impl Send for SequenceNumberCounter
impl Sync for SequenceNumberCounter
impl Unpin for SequenceNumberCounter
impl UnwindSafe for SequenceNumberCounter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more