Enum matrix_sdk_crypto::types::events::UtdCause
source · pub enum UtdCause {
Unknown = 0,
SentBeforeWeJoined = 1,
VerificationViolation = 2,
UnsignedDevice = 3,
UnknownDevice = 4,
}
Expand description
Our best guess at the reason why an event can’t be decrypted.
Variants§
Unknown = 0
We don’t have an explanation for why this UTD happened - it is probably a bug, or a network split between the two homeservers.
SentBeforeWeJoined = 1
We are missing the keys for this event, and the event was sent when we were not a member of the room (or invited).
VerificationViolation = 2
The message was sent by a user identity we have not verified, but the user was previously verified.
UnsignedDevice = 3
The crate::TrustRequirement
requires that the sending device be
signed by its owner, and it was not.
UnknownDevice = 4
The crate::TrustRequirement
requires that the sending device be
signed by its owner, and we were unable to securely find the device.
This could be because the device has since been deleted, because we haven’t yet downloaded it from the server, or because the session data was obtained from an insecure source (imported from a file, obtained from a legacy (asymmetric) backup, unsafe key forward, etc.)
Implementations§
Trait Implementations§
source§impl<UT> ConvertError<UT> for UtdCause
impl<UT> ConvertError<UT> for UtdCause
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
source§impl<UT> FfiConverter<UT> for UtdCause
impl<UT> FfiConverter<UT> for UtdCause
§type FfiType = RustBuffer
type FfiType = RustBuffer
source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
source§fn write(obj: Self, buf: &mut Vec<u8>)
fn write(obj: Self, buf: &mut Vec<u8>)
source§fn try_read(buf: &mut &[u8]) -> Result<Self>
fn try_read(buf: &mut &[u8]) -> Result<Self>
source§const TYPE_ID_META: MetadataBuffer = _
const TYPE_ID_META: MetadataBuffer = _
source§impl<UT> LiftReturn<UT> for UtdCause
impl<UT> LiftReturn<UT> for UtdCause
§type ReturnType = <UtdCause as Lift<UT>>::FfiType
type ReturnType = <UtdCause as Lift<UT>>::FfiType
source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
source§impl<UT> LowerError<UT> for UtdCause
impl<UT> LowerError<UT> for UtdCause
source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
source§impl<UT> LowerReturn<UT> for UtdCause
impl<UT> LowerReturn<UT> for UtdCause
§type ReturnType = <UtdCause as Lower<UT>>::FfiType
type ReturnType = <UtdCause as Lower<UT>>::FfiType
source§fn lower_return(obj: Self) -> Result<Self::ReturnType, RustBuffer>
fn lower_return(obj: Self) -> Result<Self::ReturnType, RustBuffer>
source§impl PartialEq for UtdCause
impl PartialEq for UtdCause
source§impl<UT> TypeId<UT> for UtdCause
impl<UT> TypeId<UT> for UtdCause
const TYPE_ID_META: MetadataBuffer = _
impl Copy for UtdCause
impl Eq for UtdCause
impl StructuralPartialEq for UtdCause
Auto Trait Implementations§
impl Freeze for UtdCause
impl RefUnwindSafe for UtdCause
impl Send for UtdCause
impl Sync for UtdCause
impl Unpin for UtdCause
impl UnwindSafe for UtdCause
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
source§fn consume_handle(handle: Handle) -> Arc<T>
fn consume_handle(handle: Handle) -> Arc<T>
Arc<>
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