Skip to content

BloomDb-Labs/pagedelta

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pagedelta

LLAMA's primary units of data.


Building a PageState chain and iterating it

use pagedelta::{BasePage, PageState, UpdateDelta, FlushDelta, PartialSwapDelta};
use std::sync::Arc;

let base = Arc::new(PageState::Base(BasePage::small()));
let s1   = base.push_delta(UpdateDelta::new_shared_delta(b"op1", 0, 0));
let s2   = s1.push_delta(FlushDelta::new_shared_delta(0xDEAD, 0));
let flush_point = Arc::clone(&s2);
let s3   = s2.push_partial_swap(
    PartialSwapDelta::new_shared_delta(b"swap", 0, 0, 0),
    flush_point,
);

// The iterator visits every node exactly once, even the shared flush node.
for node in s3.iter() {
    println!("{:?}", node);
}

About

Deltas: LLAMA's primary units of data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages