pub enum SecureChannelError {
Utf8(Utf8Error),
Ecies(EciesError),
MessageDecode(MessageDecodeError),
Json(Error),
SecureChannelMessage {
expected: &'static str,
received: String,
},
InvalidCheckCode,
RendezvousChannel(HttpError),
InvalidIntent,
}
Available on crate feature
experimental-oidc
and crate feature e2e-encryption
and non-WebAssembly only.Expand description
Error type for failures in when receiving or sending messages over the secure channel.
Variants§
Utf8(Utf8Error)
A message we received over the secure channel was not a valid UTF-8 encoded string.
Ecies(EciesError)
A message has failed to be decrypted.
MessageDecode(MessageDecodeError)
A received message has failed to be decoded.
Json(Error)
A message couldn’t be deserialized from JSON.
SecureChannelMessage
The secure channel failed to be established because it received an unexpected message.
Fields
InvalidCheckCode
The secure channel could not have been established, the check code was invalid.
RendezvousChannel(HttpError)
An error happened in the underlying rendezvous channel.
InvalidIntent
Both devices have advertised the same intent in the login attempt, i.e. both sides claim to be a new device.
Trait Implementations§
source§impl Debug for SecureChannelError
impl Debug for SecureChannelError
source§impl Display for SecureChannelError
impl Display for SecureChannelError
source§impl Error for SecureChannelError
impl Error for SecureChannelError
source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
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<Error> for SecureChannelError
impl From<Error> for SecureChannelError
source§fn from(source: EciesError) -> Self
fn from(source: EciesError) -> Self
Converts to this type from the input type.
source§impl From<Error> for SecureChannelError
impl From<Error> for SecureChannelError
source§impl From<HttpError> for SecureChannelError
impl From<HttpError> for SecureChannelError
source§impl From<MessageDecodeError> for SecureChannelError
impl From<MessageDecodeError> for SecureChannelError
source§fn from(source: MessageDecodeError) -> Self
fn from(source: MessageDecodeError) -> Self
Converts to this type from the input type.
source§impl From<SecureChannelError> for QRCodeLoginError
impl From<SecureChannelError> for QRCodeLoginError
source§fn from(source: SecureChannelError) -> Self
fn from(source: SecureChannelError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !Freeze for SecureChannelError
impl !RefUnwindSafe for SecureChannelError
impl Send for SecureChannelError
impl Sync for SecureChannelError
impl Unpin for SecureChannelError
impl !UnwindSafe for SecureChannelError
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
§impl<T> CompatExt for T
impl<T> CompatExt for T
source§impl<T> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Consume a handle, getting back the initial
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>
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