Enum tough::TransportErrorKind
source · #[non_exhaustive]
pub enum TransportErrorKind {
UnsupportedUrlScheme,
FileNotFound,
Other,
}
Expand description
The kind of error that the transport object experienced during fetch
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
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§
source§impl Clone for TransportErrorKind
impl Clone for TransportErrorKind
source§fn clone(&self) -> TransportErrorKind
fn clone(&self) -> TransportErrorKind
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more