pub enum CheckpointError {
Incompatible(String),
Corrupted(String),
NotCanonical(String),
}Expand description
Why a checkpoint could not be assembled, decoded or verified.
The split is the recovery ladder, not the field that failed. Incompatible means “this blob is
not for this kernel or not for this operation” — a host answers it by looking for a different
checkpoint. Corrupted means “this blob claims to be ours and does not hold together” — the
only answer is an older checkpoint plus more tail.
Variants§
Incompatible(String)
Wrong checkpoint revision, wrong ABI revision, wrong operation, or a genesis/head this operation never had.
Corrupted(String)
A digest disagrees with the bytes it summarises, or the bounded tail does not cover
(base_step_seq, through_step_seq] exactly.
NotCanonical(String)
The value has no canonical byte representation at all.
Implementations§
Source§impl CheckpointError
impl CheckpointError
pub fn message(&self) -> &str
pub fn code(&self) -> KernelFaultCode
Sourcepub fn fault(&self) -> KernelFault
pub fn fault(&self) -> KernelFault
Host-facing projection (§7.13).
Trait Implementations§
Source§impl Clone for CheckpointError
impl Clone for CheckpointError
Source§fn clone(&self) -> CheckpointError
fn clone(&self) -> CheckpointError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CheckpointError
impl Debug for CheckpointError
Source§impl Display for CheckpointError
impl Display for CheckpointError
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Result
fn fmt(&self, f: &mut Formatter<'_>) -> Result
The rendered form names its own code.
Not cosmetic: a checkpoint rejected inside serde reaches the caller as a string, and
from_checkpoint_bytes has to recover the class
from it. Printing the code is what keeps that recovery from being a guess based on which
words happen to be in the message.
impl Eq for CheckpointError
Source§impl Error for CheckpointError
impl Error for CheckpointError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<RecordError> for CheckpointError
impl From<RecordError> for CheckpointError
Source§fn from(error: RecordError) -> Self
fn from(error: RecordError) -> Self
Source§impl PartialEq for CheckpointError
impl PartialEq for CheckpointError
impl StructuralPartialEq for CheckpointError
Auto Trait Implementations§
impl Freeze for CheckpointError
impl RefUnwindSafe for CheckpointError
impl Send for CheckpointError
impl Sync for CheckpointError
impl Unpin for CheckpointError
impl UnsafeUnpin for CheckpointError
impl UnwindSafe for CheckpointError
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more