pub struct InMemoryChangesTrieStorage<H: Hasher, Number: BlockNumber> { /* private fields */ }Expand description
In-memory implementation of changes trie storage.
Implementations§
Source§impl<H: Hasher, Number: BlockNumber> InMemoryStorage<H, Number>
impl<H: Hasher, Number: BlockNumber> InMemoryStorage<H, Number>
Sourcepub fn with_proof(proof: Vec<Vec<u8>>) -> Self
pub fn with_proof(proof: Vec<Vec<u8>>) -> Self
Creates storage with given proof.
Sourcepub fn cache_mut(&mut self) -> &mut BuildCache<H::Out, Number>
pub fn cache_mut(&mut self) -> &mut BuildCache<H::Out, Number>
Get mutable cache reference.
Sourcepub fn with_blocks(blocks: Vec<(Number, H::Out)>) -> Self
pub fn with_blocks(blocks: Vec<(Number, H::Out)>) -> Self
Create the storage with given blocks.
Trait Implementations§
Source§impl<H: Hasher, Number: BlockNumber> RootsStorage<H, Number> for InMemoryStorage<H, Number>
impl<H: Hasher, Number: BlockNumber> RootsStorage<H, Number> for InMemoryStorage<H, Number>
Source§fn build_anchor(
&self,
parent_hash: H::Out,
) -> Result<AnchorBlockId<H::Out, Number>, String>
fn build_anchor( &self, parent_hash: H::Out, ) -> Result<AnchorBlockId<H::Out, Number>, String>
Resolve hash of the block into anchor.
Source§impl<H: Hasher, Number: BlockNumber> Storage<H, Number> for InMemoryStorage<H, Number>
impl<H: Hasher, Number: BlockNumber> Storage<H, Number> for InMemoryStorage<H, Number>
Source§fn as_roots_storage(&self) -> &dyn RootsStorage<H, Number>
fn as_roots_storage(&self) -> &dyn RootsStorage<H, Number>
Casts from self reference to RootsStorage reference.
Source§fn with_cached_changed_keys(
&self,
root: &H::Out,
functor: &mut dyn FnMut(&HashMap<Option<PrefixedStorageKey>, HashSet<StorageKey>>),
) -> bool
fn with_cached_changed_keys( &self, root: &H::Out, functor: &mut dyn FnMut(&HashMap<Option<PrefixedStorageKey>, HashSet<StorageKey>>), ) -> bool
Execute given functor with cached entry for given trie root.
Returns true if the functor has been called (cache entry exists) and false otherwise.
Auto Trait Implementations§
impl<H, Number> !Freeze for InMemoryStorage<H, Number>
impl<H, Number> !RefUnwindSafe for InMemoryStorage<H, Number>
impl<H, Number> Send for InMemoryStorage<H, Number>
impl<H, Number> Sync for InMemoryStorage<H, Number>
impl<H, Number> Unpin for InMemoryStorage<H, Number>
impl<H, Number> UnwindSafe for InMemoryStorage<H, Number>where
Number: UnwindSafe + RefUnwindSafe,
<H as Hasher>::Out: UnwindSafe + RefUnwindSafe,
H: UnwindSafe,
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from.