pub struct StateViewCache<'a> { /* private fields */ }
Expand description
A local cache for a given a StateView
. The cache is private to the Diem layer
but can be used as a one shot cache for systems that need a simple RemoteCache
implementation (e.g. tests or benchmarks).
The cache is responsible to track all changes to the StateView
that are the result
of transaction execution. Those side effects are published at the end of a transaction
execution via StateViewCache::push_write_set
.
StateViewCache
is responsible to give an up to date view over the data store,
so that changes executed but not yet committed are visible to subsequent transactions.
If a system wishes to execute a block of transaction on a given view, a cache that keeps
track of incremental changes is vital to the consistency of the data store and the system.
Create a StateViewCache
give a StateView
. Hold updates to the data store and
forward data request to the StateView
if not in the local cache.
Gets the state for a single access path.
VM needs this method to know whether the current state view is for genesis state creation.
Currently TransactionPayload::WriteSet is only valid for genesis state creation.
For logging and debugging purpose, identifies what this view is for.
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
Returns the argument unchanged.
Instruments this type with the provided
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.
The alignment of pointer.
The type for initializers.
Initializes a with the given initializer.
Read more
Mutably dereferences the given pointer.
Read more
Drops the object pointed to by the given pointer.
Read more
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.