pub struct MapResolver { /* private fields */ }Expand description
A Resolver backed by maps: descriptors by function hash, receipts by receipt hash, and
evaluated values by cell id. It is what the vectors’ recompute object describes
(SPEC 11): the descriptor goes under the receipt’s cell.fn_hash, the inputs under their
hashes, and value under the receipt’s own Cell::id.
A map holds one value per cell: evaluate ignores asof.
Implementations§
Source§impl MapResolver
impl MapResolver
Sourcepub fn new() -> MapResolver
pub fn new() -> MapResolver
An empty resolver: every descriptor and receipt unavailable, nothing evaluable.
Sourcepub fn insert_descriptor(
&mut self,
fn_hash: impl Into<String>,
json: impl Into<Vec<u8>>,
)
pub fn insert_descriptor( &mut self, fn_hash: impl Into<String>, json: impl Into<Vec<u8>>, )
Offers descriptor JSON text for fn_hash.
Sourcepub fn insert_receipt(
&mut self,
hash: impl Into<String>,
json: impl Into<Vec<u8>>,
)
pub fn insert_receipt( &mut self, hash: impl Into<String>, json: impl Into<Vec<u8>>, )
Offers receipt JSON text for receipt hash hash.
Sourcepub fn insert_value(&mut self, cell_id: impl Into<String>, value: Scalar)
pub fn insert_value(&mut self, cell_id: impl Into<String>, value: Scalar)
Sets the value evaluating the cell with id cell_id gives.
Trait Implementations§
Source§impl Clone for MapResolver
impl Clone for MapResolver
Source§impl Debug for MapResolver
impl Debug for MapResolver
Source§impl Default for MapResolver
impl Default for MapResolver
impl Eq for MapResolver
Source§impl PartialEq for MapResolver
impl PartialEq for MapResolver
Source§impl Resolver for MapResolver
impl Resolver for MapResolver
Source§fn descriptor(&self, fn_hash: &str) -> Option<Cow<'_, [u8]>>
fn descriptor(&self, fn_hash: &str) -> Option<Cow<'_, [u8]>>
The descriptor JSON text offered for
fn_hash, or None if unavailable
(E_FN_UNAVAILABLE).Source§fn receipt(&self, hash: &str) -> Option<Cow<'_, [u8]>>
fn receipt(&self, hash: &str) -> Option<Cow<'_, [u8]>>
The receipt JSON text offered for receipt hash
hash, or None if unavailable
(E_INPUT_UNAVAILABLE).Source§fn evaluate(&self, cell: &Cell, _asof: &str) -> Option<Scalar>
fn evaluate(&self, cell: &Cell, _asof: &str) -> Option<Scalar>
The value of evaluating
cell as of asof (for stored: the value looked up as of it,
SPEC 10.1 step 7.6), or None if this resolver cannot evaluate it: no runtime for the
language, a budget exceeded, inputs the evaluator cannot obtain
(E_EVAL_UNAVAILABLE, see VerifyResult). asof is the receipt’s asof.impl StructuralPartialEq for MapResolver
Auto Trait Implementations§
impl Freeze for MapResolver
impl RefUnwindSafe for MapResolver
impl Send for MapResolver
impl Sync for MapResolver
impl Unpin for MapResolver
impl UnsafeUnpin for MapResolver
impl UnwindSafe for MapResolver
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