Skip to main content

Error

Enum Error 

Source
#[non_exhaustive]
pub enum Error {
Show 37 variants Identity { detail: String, }, PortInUse { port: u16, }, Listen { port: u16, detail: String, }, DiscoveryUnavailable { detail: String, }, TrustStore { detail: String, }, InvalidFingerprint, NotListed, AllowNotDefault, DeviceNearby, DeviceNotNearby, DeviceBlocked, NoUsableAddress, InvalidIdentity { peer: String, }, PeerPlaintext { peer: String, }, PeerIdentityMismatch { peer: String, }, PeerUnreachable { peer: String, detail: String, }, PeerLost { peer: String, detail: String, }, PeerAnswer { peer: String, status: u16, }, PeerReply { peer: String, }, PeerNeedsPin { peer: String, }, PeerBusy { peer: String, }, PeerTooLarge { peer: String, }, PeerRateLimited { peer: String, }, FileRefused { peer: String, file: String, }, FileDamaged { peer: String, file: String, }, FileStopped { file: String, detail: String, }, TooManyFiles { max: usize, }, NothingToSend, NotFileOrFolder { path: String, }, Damaged { file: String, }, Internal { detail: String, }, Unreadable { path: String, detail: String, }, SenderStopped, Unverified { max_files: usize, max_bytes: u64, }, SaveFailed { file: String, detail: String, }, Interrupted { file: String, detail: String, }, Mark { file: String, detail: String, },
}

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.
§

Identity

The stored certificate and key do not form a usable identity.

Fields

§detail: String
§

PortInUse

The listen port is held by another program.

Fields

§port: u16
§

Listen

The listen port could not be bound for another reason.

Fields

§port: u16
§detail: String
§

DiscoveryUnavailable

The discovery socket could not be opened; devices that find this one first still work.

Fields

§detail: String
§

TrustStore

The device list could not be written to the trust store path.

Fields

§detail: String
§

InvalidFingerprint

A device key was not a 64-character SHA-256 in hex.

§

NotListed

A device record was asked for that has no record.

§

AllowNotDefault

The default state was set to Allow; only single devices may be allowed.

§

DeviceNearby

Forgetting a record is refused while that device is on the network.

§

DeviceNotNearby

The send target is not on the network.

§

DeviceBlocked

The send target is set to Deny.

§

NoUsableAddress

The device announced no usable address.

§

InvalidIdentity

The device’s identity is not a valid fingerprint.

Fields

§peer: String
§

PeerPlaintext

The device answered over plain HTTP. Sends are refused without TLS.

Fields

§peer: String
§

PeerIdentityMismatch

The certificate the device presented is not the one its fingerprint names. Distinct from an unreachable device: the address answered with another key.

Fields

§peer: String
§

PeerUnreachable

The device could not be connected to.

Fields

§peer: String
§detail: String
§

PeerLost

The connection to the device failed after it was made.

Fields

§peer: String
§detail: String
§

PeerAnswer

The device answered with a status the protocol does not define here.

Fields

§peer: String
§status: u16
§

PeerReply

The device’s answer could not be parsed.

Fields

§peer: String
§

PeerNeedsPin

The device asks for a PIN, which is not supported.

Fields

§peer: String
§

PeerBusy

The device is busy with another transfer.

Fields

§peer: String
§

PeerTooLarge

The device refused the request as too large for an unproven sender.

Fields

§peer: String
§

PeerRateLimited

The device is rate limiting requests.

Fields

§peer: String
§

FileRefused

The device refused one file.

Fields

§peer: String
§file: String
§

FileDamaged

The device reported that one file arrived damaged.

Fields

§peer: String
§file: String
§

FileStopped

Sending one file stopped.

Fields

§file: String
§detail: String
§

TooManyFiles

More entries than the send limit.

Fields

§max: usize
§

NothingToSend

Nothing to send after expanding the selection.

§

NotFileOrFolder

A chosen path is neither a file nor a folder.

Fields

§path: String
§

Damaged

A received file’s checksum did not match the one the sender named.

Fields

§file: String
§

Internal

An internal failure that should not happen (serializing our own message).

Fields

§detail: String
§

Unreadable

A chosen path could not be read.

Fields

§path: String
§detail: String
§

SenderStopped

The sender stopped responding while a transfer was open.

§

Unverified

A request from an unproven sender named too much (receive side).

Fields

§max_files: usize
§max_bytes: u64
§

SaveFailed

A received file could not be saved.

Fields

§file: String
§detail: String
§

Interrupted

A received file was cut off mid-transfer.

Fields

§file: String
§detail: String
§

Mark

A received file could not be marked as coming from outside the computer. An unproven sender’s file is then not kept.

Fields

§file: String
§detail: String

Trait Implementations§

Source§

impl Clone for Error

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
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 Eq for Error

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 PartialEq for Error

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for Error

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnsafeUnpin for Error

§

impl UnwindSafe 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
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.