pub struct Recording<'a> { /* private fields */ }Expand description
A Resolver that forwards to another and records each call, in order.
Implementations§
Trait Implementations§
Source§impl Resolver for Recording<'_>
impl Resolver for Recording<'_>
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). Only None is unavailability: the text is parsed strictly
(unparseable text reports its parse code), and any other JSON value, null included,
is a descriptor offered that fails the hash check (E_FN_HASH_MISMATCH, SPEC 10.1
step 7.1).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.Source§fn manifest(&self, entry: &str) -> Option<Cow<'_, [u8]>>
fn manifest(&self, entry: &str) -> Option<Cow<'_, [u8]>>
The manifest JSON text offered for slice entry
entry (slice:<slice id>:<members hash>), or None if unavailable (E_INPUT_UNAVAILABLE). The text is parsed strictly
and checked as a Manifest; one that does not hash to the entry is
E_INPUT_UNAVAILABLE, as a receipt with another hash. Provided: None.Source§fn evaluation(&self, cell: &Cell, asof: &str) -> Option<Evaluation>
fn evaluation(&self, cell: &Cell, asof: &str) -> Option<Evaluation>
Evaluates
cell as of asof, with the evaluation’s lineage when the resolver has it:
the inputs entries the evaluation read (10.1 step 7.6). verify calls this once,
in place of evaluate. When the value differs from the receipt’s,
a lineage that replaces one of the receipt’s inputs by a later version of the same cell
(whose receipt it offers through receipt), or one of its slice
entries by an item beginning slice:<the same slice id>:, makes the result
E_INPUT_SUPERSEDED instead of E_VALUE_MISMATCH. Provided: evaluate’s value, with
no lineage.Auto Trait Implementations§
impl<'a> !Freeze for Recording<'a>
impl<'a> !RefUnwindSafe for Recording<'a>
impl<'a> !Send for Recording<'a>
impl<'a> !Sync for Recording<'a>
impl<'a> !UnwindSafe for Recording<'a>
impl<'a> Unpin for Recording<'a>
impl<'a> UnsafeUnpin for Recording<'a>
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