StoreError

Enum StoreError 

Source
pub enum StoreError {
Show 25 variants Io(String), Database(String), Blob(BlobStoreError), BlobHashMismatch, SequenceGap { expected: u64, actual: u64, }, AuthorChainMissing { previous: CommitId, }, SnapshotBaselineMissing { frontier: CommitId, }, AuthorEquivocation { author: AuthorId, sequence: u64, first: CommitId, second: CommitId, }, QuarantinedCommit(CommitId), QuarantinedAuthor { author: AuthorId, from_sequence: u64, }, MissingDependency(CommitId), UnsupportedFormat, AlreadyOpen, MissingCommitBlob(CommitId), CommitCodec(CommitCodecError), Schema(SchemaError), Migration(MigrationCodecError), InvalidMigration(String), SchemaMigrationFork { collection_id: CollectionId, }, SchemaMismatch { collection_id: CollectionId, version: u32, }, InvalidIndex { collection_id: CollectionId, field_id: u32, }, CorruptDerivedMetadata(String), InvalidSnapshotMetadata(String), InvalidAuthority(String), ControlFork { domain: DomainId, first: [u8; 32], second: [u8; 32], },
}
Expand description

A local durable-store failure.

Variants§

§

Io(String)

A filesystem operation failed.

§

Database(String)

The redb metadata operation failed.

§

Blob(BlobStoreError)

The immutable blob repository failed.

§

BlobHashMismatch

The blob repository returned a hash other than the bytes’ expected hash.

§

SequenceGap

A commit skipped or repeated an author’s required next sequence.

Fields

§expected: u64

The only sequence accepted next.

§actual: u64

The sequence supplied by the commit.

§

AuthorChainMissing

The next author sequence did not causally extend that author’s accepted head.

Fields

§previous: CommitId

The accepted author commit that must be in dependency ancestry.

§

SnapshotBaselineMissing

A post-snapshot author commit did not extend the complete installed frontier.

Fields

§frontier: CommitId

A current frontier commit absent from incoming dependency ancestry.

§

AuthorEquivocation

Two different immutable commits claim one author-local sequence.

Fields

§author: AuthorId

The signing author that reused a sequence.

§sequence: u64

The reused author-local sequence.

§first: CommitId

Lexicographically first conflicting commit ID.

§second: CommitId

Lexicographically second conflicting commit ID.

§

QuarantinedCommit(CommitId)

A commit is immutable evidence in a quarantined equivocation branch.

§

QuarantinedAuthor

An author’s signing key equivocated and cannot extend that branch.

Fields

§author: AuthorId

The equivocated author identity.

§from_sequence: u64

The first sequence no longer accepted from this author.

§

MissingDependency(CommitId)

A declared causal dependency is not accepted locally.

§

UnsupportedFormat

The directory has an incompatible format marker.

§

AlreadyOpen

Another process already holds the exclusive writer lock.

§

MissingCommitBlob(CommitId)

A stored commit blob was missing.

§

CommitCodec(CommitCodecError)

Stored immutable bytes were not a canonical commit.

§

Schema(SchemaError)

A stored schema descriptor could not be decoded.

§

Migration(MigrationCodecError)

A canonical schema migration object was invalid.

§

InvalidMigration(String)

Migration-derived state did not match its immutable commit history.

§

SchemaMigrationFork

Two activation commits attempted different successors for one schema.

Fields

§collection_id: CollectionId
§

SchemaMismatch

The same domain, collection and version was registered with different bytes.

Fields

§collection_id: CollectionId

Stable collection identifier.

§version: u32

Application schema version.

§

InvalidIndex

A supplied index was absent from the schema or was not declared indexed.

Fields

§collection_id: CollectionId

Stable collection identifier.

§field_id: u32

Stable field identifier.

§

CorruptDerivedMetadata(String)

Stored derived metadata was structurally corrupt.

§

InvalidSnapshotMetadata(String)

A snapshot supplied a noncanonical or inconsistent causal baseline.

§

InvalidAuthority(String)

A signed domain authority object failed validation or conflicted with durable state.

§

ControlFork

The designated controller signed two different successors for one control slot.

Fields

§domain: DomainId

Security domain whose controller equivocated.

§first: [u8; 32]

Lexicographically first transition ID.

§second: [u8; 32]

Lexicographically second transition ID.

Trait Implementations§

Source§

impl Clone for StoreError

Source§

fn clone(&self) -> StoreError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StoreError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for StoreError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for StoreError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<BlobStoreError> for StoreError

Source§

fn from(source: BlobStoreError) -> Self

Converts to this type from the input type.
Source§

impl From<CommitCodecError> for StoreError

Source§

fn from(source: CommitCodecError) -> Self

Converts to this type from the input type.
Source§

impl From<MigrationCodecError> for StoreError

Source§

fn from(source: MigrationCodecError) -> Self

Converts to this type from the input type.
Source§

impl From<SchemaError> for StoreError

Source§

fn from(source: SchemaError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for StoreError

Source§

fn eq(&self, other: &StoreError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for StoreError

Source§

impl StructuralPartialEq for StoreError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.