pub struct LocalTrieCache<H: Hasher> { /* private fields */ }
Expand description

The local trie cache.

This cache should be used per state instance created by the backend. One state instance is referring to the state of one block. It will cache all the accesses that are done to the state which could not be fullfilled by the SharedTrieCache. These locally cached items are merged back to the shared trie cache when this instance is dropped.

When using Self::as_trie_db_cache or Self::as_trie_db_mut_cache, it will lock Mutexes. So, it is important that these methods are not called multiple times, because they otherwise deadlock.

Implementations§

Return self as a TrieDB compatible cache.

The given storage_root needs to be the storage root of the trie this cache is used for.

Return self as TrieDBMut compatible cache.

After finishing all operations with TrieDBMut and having obtained the new storage root, TrieCache::merge_into should be called to update this local cache instance. If the function is not called, cached data is just thrown away and not propagated to the shared cache. So, accessing these new items will be slower, but nothing would break because of this.

Trait Implementations§

Executes the destructor for this type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
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. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Get a reference to the inner from the outer.

Get a mutable reference to the inner from the outer.

The alignment of pointer.
The type for initializers.
Initializes a with the given initializer. Read more
Dereferences the given pointer. Read more
Mutably dereferences the given pointer. Read more
Drops the object pointed to by the given pointer. Read more
Should always be Self
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
The counterpart to unchecked_from.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more