pub enum CryptoStoreError {
AccountUnset,
MismatchedAccount {
expected: (OwnedUserId, OwnedDeviceId),
got: (OwnedUserId, OwnedDeviceId),
},
Io(Error),
UnpicklingError,
Pickle(PickleError),
Backup(Error),
SessionCreation(SessionCreationError),
IdentifierValidation(IdParseError),
Serialization(Error),
UnsupportedDatabaseVersion(usize, usize),
Backend(Box<dyn Error + Send + Sync>),
InvalidLockGeneration(String),
}Expand description
The crypto store’s error type.
Variants§
AccountUnset
The account that owns the sessions, group sessions, and devices wasn’t found.
MismatchedAccount
The store doesn’t support multiple accounts and data from another device was discovered.
Fields
expected: (OwnedUserId, OwnedDeviceId)The expected user/device id pair.
got: (OwnedUserId, OwnedDeviceId)The user/device id pair that was loaded from the store.
Io(Error)
An IO error occurred.
UnpicklingError
Failed to decrypt an pickled object.
Pickle(PickleError)
Failed to decrypt an pickled object.
Backup(Error)
Backing up a room key has failed.
SessionCreation(SessionCreationError)
The received room key couldn’t be converted into a valid Megolm session.
IdentifierValidation(IdParseError)
A Matrix identifier failed to be validated.
Serialization(Error)
The store failed to (de)serialize a data type.
UnsupportedDatabaseVersion(usize, usize)
The database format has changed in a backwards incompatible way.
Backend(Box<dyn Error + Send + Sync>)
A problem with the underlying database backend
InvalidLockGeneration(String)
An error due to an invalid generation in a cross-process locking scheme.
Implementations§
Trait Implementations§
Source§impl Debug for CryptoStoreError
impl Debug for CryptoStoreError
Source§impl Display for CryptoStoreError
impl Display for CryptoStoreError
Source§impl Error for CryptoStoreError
impl Error for CryptoStoreError
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
Source§impl From<CryptoStoreError> for DehydrationError
impl From<CryptoStoreError> for DehydrationError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for MegolmError
impl From<CryptoStoreError> for MegolmError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for OlmError
impl From<CryptoStoreError> for OlmError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for ScanError
Available on crate feature qrcode only.
impl From<CryptoStoreError> for ScanError
qrcode only.Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for SecretImportError
impl From<CryptoStoreError> for SecretImportError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for SecretsBundleExportError
impl From<CryptoStoreError> for SecretsBundleExportError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for SetRoomSettingsError
impl From<CryptoStoreError> for SetRoomSettingsError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<CryptoStoreError> for SignatureError
impl From<CryptoStoreError> for SignatureError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Source§impl From<Error> for CryptoStoreError
impl From<Error> for CryptoStoreError
Source§impl From<Error> for CryptoStoreError
impl From<Error> for CryptoStoreError
Source§impl From<Error> for CryptoStoreError
impl From<Error> for CryptoStoreError
Source§fn from(source: SerdeError) -> Self
fn from(source: SerdeError) -> Self
Source§impl From<Error> for CryptoStoreError
impl From<Error> for CryptoStoreError
Source§fn from(source: IdParseError) -> Self
fn from(source: IdParseError) -> Self
Source§impl From<Infallible> for CryptoStoreError
impl From<Infallible> for CryptoStoreError
Source§fn from(never: Infallible) -> Self
fn from(never: Infallible) -> Self
Source§impl From<PickleError> for CryptoStoreError
impl From<PickleError> for CryptoStoreError
Source§fn from(source: PickleError) -> Self
fn from(source: PickleError) -> Self
Source§impl From<SessionCreationError> for CryptoStoreError
impl From<SessionCreationError> for CryptoStoreError
Source§fn from(source: SessionCreationError) -> Self
fn from(source: SessionCreationError) -> Self
Auto Trait Implementations§
impl Freeze for CryptoStoreError
impl !RefUnwindSafe for CryptoStoreError
impl Send for CryptoStoreError
impl Sync for CryptoStoreError
impl Unpin for CryptoStoreError
impl UnsafeUnpin for CryptoStoreError
impl !UnwindSafe for CryptoStoreError
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more