[][src]Trait mohan::merkle::Store

pub trait Store<E: Element>: Deref<Target = [E]> + Debug + Clone + Send + Sync {
    fn new(size: usize) -> Result<Self, ()>;
fn new_from_slice(size: usize, data: &[u8]) -> Self;
fn write_at(&mut self, el: E, i: usize);
fn copy_from_slice(&mut self, buf: &[u8], start: usize);
fn read_at(&self, i: usize) -> E;
fn read_range(&self, r: Range<usize>) -> Vec<E>;
fn read_into(&self, pos: usize, buf: &mut [u8]);
fn len(&self) -> usize;
fn is_empty(&self) -> bool;
fn push(&mut self, el: E);
fn try_offload(&self) -> bool; }

Backing store of the merkle tree.

Required methods

fn new(size: usize) -> Result<Self, ()>

Creates a new store which can store up to size elements.

fn new_from_slice(size: usize, data: &[u8]) -> Self

fn write_at(&mut self, el: E, i: usize)

fn copy_from_slice(&mut self, buf: &[u8], start: usize)

fn read_at(&self, i: usize) -> E

fn read_range(&self, r: Range<usize>) -> Vec<E>

fn read_into(&self, pos: usize, buf: &mut [u8])

fn len(&self) -> usize

fn is_empty(&self) -> bool

fn push(&mut self, el: E)

fn try_offload(&self) -> bool

Loading content...

Implementors

impl<E: Element> Store<E> for VecStore<E>[src]

Loading content...