Enum tough::TransportErrorKind[][src]

#[non_exhaustive]pub enum TransportErrorKind {
    UnsupportedUrlScheme,
    FileNotFound,
    Other,
}

The kind of error that the transport object experienced during fetch.

Variants (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.
UnsupportedUrlScheme

The Transport does not handle the URL scheme. e.g. file:// or http://.

FileNotFound

The file cannot be found.

Some TUF operations could benefit from knowing whether a Transport failure is a result of a file not existing. In particular:

TUF v1.0.16 5.2.2. Try downloading version N+1 of the root metadata file [...] If this file is not available [...] then go to step 5.1.9.

We want to distinguish cases when a specific file probably doesn’t exist from cases where the failure to fetch it is due to some other problem (i.e. some fault in the Transport or the machine hosting the file).

For some transports, the distinction is obvious. For example, a local file transport should return FileNotFound for std::error::ErrorKind::NotFound and nothing else. For other transports it might be less obvious, but the intent of FileNotFound is to indicate that the file probably doesn’t exist.

Other

The transport failed for any other reason, e.g. IO error, HTTP broken pipe, etc.

Trait Implementations

impl Clone for TransportErrorKind[src]

impl Copy for TransportErrorKind[src]

impl Debug for TransportErrorKind[src]

impl Display for TransportErrorKind[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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