pub struct ForestInMemoryBackend { /* private fields */ }Expand description
The in-memory backend itself.
Implementations§
Source§impl InMemoryBackend
impl InMemoryBackend
Sourcepub fn new() -> InMemoryBackend
pub fn new() -> InMemoryBackend
Constructs a new instance of the in-memory backend.
Sourcepub fn into_snapshot(self) -> InMemoryBackendSnapshot
pub fn into_snapshot(self) -> InMemoryBackendSnapshot
Converts this backend into a read-only snapshot.
Trait Implementations§
Source§impl Backend for InMemoryBackend
impl Backend for InMemoryBackend
Source§fn compute_mutations(
&self,
new_version: u64,
updates: SmtForestUpdateBatch,
) -> Result<(Vec<LineageMutation>, <InMemoryBackend as Backend>::PreparedMutations), BackendError>
fn compute_mutations( &self, new_version: u64, updates: SmtForestUpdateBatch, ) -> Result<(Vec<LineageMutation>, <InMemoryBackend as Backend>::PreparedMutations), BackendError>
Computes the mutations required to apply the provided updates on the forest.
Source§fn apply_mutations(
&mut self,
mutations: <InMemoryBackend as Backend>::PreparedMutations,
) -> Result<Vec<AppliedLineageMutation>, BackendError>
fn apply_mutations( &mut self, mutations: <InMemoryBackend as Backend>::PreparedMutations, ) -> Result<Vec<AppliedLineageMutation>, BackendError>
Apply a mutation set to the entire forest, returning the mutation sets that would reverse the changes to each lineage in the forest.
BackendError::Merkleif an error occurs with the merkle tree semantics.BackendError::UnknownLineageif the providedlineageis not known by this backend.
Source§type Reader = InMemoryBackendSnapshot
type Reader = InMemoryBackendSnapshot
Self::reader. Read moreSource§type PreparedMutations = InMemoryPreparedMutations
type PreparedMutations = InMemoryPreparedMutations
Source§fn reader(&self) -> Result<<InMemoryBackend as Backend>::Reader, BackendError>
fn reader(&self) -> Result<<InMemoryBackend as Backend>::Reader, BackendError>
Source§impl BackendReader for InMemoryBackend
impl BackendReader for InMemoryBackend
Source§fn open(&self, lineage: LineageId, key: Word) -> Result<SmtProof, BackendError>
fn open(&self, lineage: LineageId, key: Word) -> Result<SmtProof, BackendError>
Returns an opening for the specified key in the SMT with the specified lineage.
§Errors
BackendError::UnknownLineageif the providedlineageis one not known by this backend.
Source§fn get_leaf(
&self,
lineage: LineageId,
leaf_index: LeafIndex<miden_crypto::::merkle::smt::large_forest::backend::memory::{impl#2}::get_leaf::{constant#0}>,
) -> Result<SmtLeaf, BackendError>
fn get_leaf( &self, lineage: LineageId, leaf_index: LeafIndex<miden_crypto::::merkle::smt::large_forest::backend::memory::{impl#2}::get_leaf::{constant#0}>, ) -> Result<SmtLeaf, BackendError>
Returns the leaf stored at leaf_index in the SMT with the specified lineage.
If no leaf is explicitly stored at the given index, an empty leaf for that index is returned.
§Errors
BackendError::UnknownLineageif the providedlineageis one not known by this backend.
Source§fn get(
&self,
lineage: LineageId,
key: Word,
) -> Result<Option<Word>, BackendError>
fn get( &self, lineage: LineageId, key: Word, ) -> Result<Option<Word>, BackendError>
Returns the value associated with the provided key in the SMT with the specified
lineage, or None if no such value exists.
§Errors
BackendError::UnknownLineageif the providedlineageis one not known by this backend.
Source§fn version(&self, lineage: LineageId) -> Result<u64, BackendError>
fn version(&self, lineage: LineageId) -> Result<u64, BackendError>
Returns the version of the tree with the specified lineage.
§Errors
BackendError::UnknownLineageIf the providedlineageis one not known by this backend.
Source§fn lineages(&self) -> Result<impl Iterator<Item = LineageId>, BackendError>
fn lineages(&self) -> Result<impl Iterator<Item = LineageId>, BackendError>
Returns an iterator over all the lineages that the backend knows about.
Source§fn trees(&self) -> Result<impl Iterator<Item = TreeWithRoot>, BackendError>
fn trees(&self) -> Result<impl Iterator<Item = TreeWithRoot>, BackendError>
Returns an iterator over all the trees that the backend knows about.
The iteration order is unspecified.
Source§fn entry_count(&self, lineage: LineageId) -> Result<usize, BackendError>
fn entry_count(&self, lineage: LineageId) -> Result<usize, BackendError>
Returns the total number of (key-value) entries in the specified tree.
§Errors
BackendError::UnknownLineageif the providedlineageis one not known by this backend.
Source§fn entries(
&self,
lineage: LineageId,
) -> Result<impl Iterator<Item = Result<TreeEntry, BackendError>>, BackendError>
fn entries( &self, lineage: LineageId, ) -> Result<impl Iterator<Item = Result<TreeEntry, BackendError>>, BackendError>
Returns an iterator that yields the populated (key-value) entries for the specified
lineage.
It yields entries in an arbitrary order, and never yields entries where the value is the empty word.
§Errors
BackendError::UnknownLineageif the providedlineageis one not known by this backend.
Source§impl Clone for InMemoryBackend
impl Clone for InMemoryBackend
Source§fn clone(&self) -> InMemoryBackend
fn clone(&self) -> InMemoryBackend
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InMemoryBackend
impl Debug for InMemoryBackend
Source§impl Default for InMemoryBackend
impl Default for InMemoryBackend
Source§fn default() -> InMemoryBackend
fn default() -> InMemoryBackend
impl Eq for InMemoryBackend
Source§impl PartialEq for InMemoryBackend
impl PartialEq for InMemoryBackend
impl StructuralPartialEq for InMemoryBackend
Auto Trait Implementations§
impl Freeze for InMemoryBackend
impl RefUnwindSafe for InMemoryBackend
impl Send for InMemoryBackend
impl Sync for InMemoryBackend
impl Unpin for InMemoryBackend
impl UnsafeUnpin for InMemoryBackend
impl UnwindSafe for InMemoryBackend
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more