pub enum VerifyOutcome {
Match {
frames: u32,
hash: u64,
},
Mismatch {
frames: u32,
expected: u64,
got: u64,
first_bad_checkpoint: Option<u32>,
},
NotAttested,
}Expand description
The result of replaying an attested movie and comparing it to its record.
Variants§
Match
The replay reproduced the recorded run exactly.
Mismatch
The replay diverged.
Fields
§
first_bad_checkpoint: Option<u32>Index of the first checkpoint that disagreed, if any did. The
divergence began somewhere in the
ATTESTATION_CHECKPOINT_INTERVAL frames ending at
(index + 1) * INTERVAL - 1. None means every recorded checkpoint
matched and only the final hash differs — i.e. the divergence is in
the tail after the last checkpoint.
NotAttested
The movie carries no attestation, so there is nothing to verify against. Not an error: most movies are recorded without one.
Trait Implementations§
Source§impl Clone for VerifyOutcome
impl Clone for VerifyOutcome
Source§fn clone(&self) -> VerifyOutcome
fn clone(&self) -> VerifyOutcome
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VerifyOutcome
impl Debug for VerifyOutcome
Source§impl PartialEq for VerifyOutcome
impl PartialEq for VerifyOutcome
impl Eq for VerifyOutcome
impl StructuralPartialEq for VerifyOutcome
Auto Trait Implementations§
impl Freeze for VerifyOutcome
impl RefUnwindSafe for VerifyOutcome
impl Send for VerifyOutcome
impl Sync for VerifyOutcome
impl Unpin for VerifyOutcome
impl UnsafeUnpin for VerifyOutcome
impl UnwindSafe for VerifyOutcome
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