pub enum StoreError {
Show 16 variants
Io(Error),
CasFailed {
expected: Option<Vec<u8>>,
actual: Option<Vec<u8>>,
},
CorruptBlob(BlobId),
MissingBlob(BlobId),
MissingEncryptionKey(u32),
BlobIdMismatch {
expected: BlobId,
actual: BlobId,
},
Encryption(CryptError),
Keyring(KeyError),
EncryptedWithoutKey {
db: String,
kek: String,
},
InvalidKeyManifest(String),
UnsupportedKeyManifest {
found: u32,
supported: u32,
},
UnsupportedKeyAlgorithm(String),
StorageEpochExhausted,
InvalidRootName(String),
BlockingTask(String),
UnreachableLocalStorage(PathBuf),
}Expand description
Errors raised by store implementations.
Variants§
Io(Error)
I/O failure.
CasFailed
Root compare-and-swap failed because the current fence differed.
Fields
CorruptBlob(BlobId)
Blob digest did not match its content.
MissingBlob(BlobId)
A live graph references a blob that is not present.
MissingEncryptionKey(u32)
An encrypted blob references a key epoch that is not configured.
BlobIdMismatch
A wrapped backend returned an id other than the digest of stored bytes.
Fields
Encryption(CryptError)
Encryption, authentication, or encrypted-format failure.
Keyring(KeyError)
A key could not be resolved, wrapped, or unwrapped.
EncryptedWithoutKey
The database is encrypted and this process holds no keyring.
Fields
InvalidKeyManifest(String)
The key manifest is malformed.
UnsupportedKeyManifest
The key manifest was written by a newer release.
Fields
UnsupportedKeyAlgorithm(String)
The key manifest names an AEAD suite this release does not implement.
StorageEpochExhausted
Storage-key epochs are exhausted.
InvalidRootName(String)
Root name cannot be safely represented on the filesystem.
BlockingTask(String)
A blocking store worker failed before returning its result.
UnreachableLocalStorage(PathBuf)
A local path advertised by a transactor is not reachable from this process. Direct-storage peers must be co-located with local backends.
Trait Implementations§
Source§impl Debug for StoreError
impl Debug for StoreError
Source§impl Display for StoreError
impl Display for StoreError
Source§impl Error for StoreError
impl Error for StoreError
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<CryptError> for StoreError
impl From<CryptError> for StoreError
Source§fn from(source: CryptError) -> Self
fn from(source: CryptError) -> Self
Auto Trait Implementations§
impl !RefUnwindSafe for StoreError
impl !UnwindSafe for StoreError
impl Freeze for StoreError
impl Send for StoreError
impl Sync for StoreError
impl Unpin for StoreError
impl UnsafeUnpin for StoreError
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request