pub enum CryptoStoreError {
AccountUnset,
MismatchedAccount {
expected: (OwnedUserId, OwnedDeviceId),
got: (OwnedUserId, OwnedDeviceId),
},
Io(Error),
UnpicklingError,
Pickle(PickleError),
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.
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)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<CryptoStoreError> for DehydrationError
impl From<CryptoStoreError> for DehydrationError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoStoreError> for MegolmError
impl From<CryptoStoreError> for MegolmError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoStoreError> for OlmError
impl From<CryptoStoreError> for OlmError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoStoreError> for SecretImportError
impl From<CryptoStoreError> for SecretImportError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoStoreError> for SecretsBundleExportError
impl From<CryptoStoreError> for SecretsBundleExportError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoStoreError> for SetRoomSettingsError
impl From<CryptoStoreError> for SetRoomSettingsError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
Source§impl From<CryptoStoreError> for SignatureError
impl From<CryptoStoreError> for SignatureError
Source§fn from(source: CryptoStoreError) -> Self
fn from(source: CryptoStoreError) -> Self
Converts to this type from the input type.
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
Converts to this type from the input type.
Source§impl From<Error> for CryptoStoreError
impl From<Error> for CryptoStoreError
Source§fn from(source: IdParseError) -> Self
fn from(source: IdParseError) -> Self
Converts to this type from the input type.
Source§impl From<Infallible> for CryptoStoreError
impl From<Infallible> for CryptoStoreError
Source§fn from(never: Infallible) -> Self
fn from(never: Infallible) -> Self
Converts to this type from the input type.
Source§impl From<PickleError> for CryptoStoreError
impl From<PickleError> for CryptoStoreError
Source§fn from(source: PickleError) -> Self
fn from(source: PickleError) -> Self
Converts to this type from the input type.
Source§impl From<SessionCreationError> for CryptoStoreError
impl From<SessionCreationError> for CryptoStoreError
Source§fn from(source: SessionCreationError) -> Self
fn from(source: SessionCreationError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for CryptoStoreError
impl !RefUnwindSafe for CryptoStoreError
impl Send for CryptoStoreError
impl Sync for CryptoStoreError
impl Unpin 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
Mutably borrows from an owned value. Read more
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,
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> 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>
Converts
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>
Converts
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