Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error { Io(Error), Relay(RelayRefusal), InvalidArgument(&'static str), Directory(DirResponse), Account(AccountResponse), Provision(ProvisionOutcome), Crypto(String), Protocol(&'static str), SecureStore(String), StoreUnavailable(String), StateMismatch { state: DeviceAddr, client: DeviceAddr, }, Discovery(String), }
Expand description

What can go wrong talking to a Tacenta server. Error::kind is the contract an app branches on; the variants carry the detail, including the server’s own reply where there was one, and may grow (the enum is non-exhaustive).

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Io(Error)

A network or transport error.

§

Relay(RelayRefusal)

The relay refused a send, returning this outcome.

§

InvalidArgument(&'static str)

The caller’s own input was wrong: a device number the protocol cannot carry, a message over the size limit, a call the client’s shape does not support. Fix the call, not the network.

§

Directory(DirResponse)

The directory refused an operation, returning this outcome.

§

Account(AccountResponse)

The account service refused an operation (a refused signup or sign-in), returning this outcome.

§

Provision(ProvisionOutcome)

Provisioning was refused (bad session, failed possession, or the handle is bound to a different key), returning this outcome.

§

Crypto(String)

A cryptographic operation failed.

§

Protocol(&'static str)

The server sent an unexpected or malformed response.

§

SecureStore(String)

The persisted-state authenticator was refused, or the secure-storage key behind it was unavailable (decision 0078, anchor B). A refused authenticator on a restore means the state file was altered — including the deliberate forgery EX-03 is about, which is now caught rather than resumed.

§

StoreUnavailable(String)

The platform’s secure store could not be reached: a Keychain before first unlock, a Keystore that needs the user. Nothing was refused; retry after unlock, and keep the blob.

§

StateMismatch

A sealed state that belongs to another user or device was offered for this one, and refused before its identity could be registered under an address it was never bound to.

Fields

§state: DeviceAddr

The address the state was sealed for.

§client: DeviceAddr

The address it was offered to.

§

Discovery(String)

The server’s service document could not be fetched or read, so the tenant handle does not know where the services are (decision 0090).

Implementations§

Source§

impl Error

Source

pub fn kind(&self) -> ErrorKind

The kind of this error, for an app to branch on.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

1.30.0 · Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(e: Error) -> Error

Converts to this type from the input type.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Error

§

impl !UnwindSafe for Error

§

impl Freeze for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V