pub enum SnapshotError {
Body {
snapshot: SnapshotId,
error: Box<DbError>,
staged: Option<StagedDigest>,
},
Read(Error),
Format(Error),
Schema {
snapshot: u32,
database: u32,
},
KeyUnavailable {
audience: Audience,
key: KeyId,
},
Inconsistent(&'static str),
Unauthentic(CryptoError),
Unauthorized,
}Expand description
Snapshots or their gap writes could not be loaded into this database.
Variants§
Body
A selected snapshot’s plaintext failed while the reload transaction was reading it: the loader’s format, schema and merge checks, or reading the input itself.
Fields
snapshot: SnapshotIdThe supplied snapshot’s identity.
staged: Option<StagedDigest>The digest of its staged records as the failed read left them,
read back once it failed, to tell damage on this device from the
snapshot’s own (§19.1); None until then.
Read(Error)
Reading the plaintext supplied by sync failed.
Format(Error)
A frame or its merge state failed the format’s checks.
Schema
The snapshot needs a different application schema.
Fields
Authenticating another member’s write that the snapshot carries needs a key this device has not opened yet (§9.6, D9): loading waits for it.
Inconsistent(&'static str)
Individually valid records disagree with one another or the schema.
Unauthentic(CryptoError)
Another member’s write that the snapshot carries does not authenticate: its sealed header does not open with the store key its prefix names, or its header signature does not verify (D9).
Another member’s write that the snapshot carries names a device that, at the write’s read-through, did not belong to a member of every audience the write has a part of (D9).