#[non_exhaustive]
pub enum Error {
Show 26 variants Unwanted(&'static str), NetDirOlder, NoDownloadSupport, CacheCorruption(&'static str), SqliteError(Arc<Error>), UnrecognizedSchema, DirectoryNotPresent, UnrecognizedAuthorities, ManagerDropped, CantAdvanceState, StorageError(String), ConsensusDiffError(Error), BadUtf8FromDirectory(FromUtf8Error), BadUtf8InCache(Utf8Error), BadHexInCache(FromHexError), NetDocError { source: DocSource, cause: Error, }, ConsensusInvalid { source: DocSource, cause: Error, }, UntimelyObject(TimeValidityError), DirClientError(Error), SignatureError(Arc<Error>), IOError(Arc<Error>), OfflineMode, CachePermissions(Error), Spawn { spawning: &'static str, cause: Arc<SpawnError>, }, ExternalDirProvider { cause: Arc<dyn Error + Send + Sync + 'static>, kind: ErrorKind, }, Bug(Bug),
}
Expand description

An error originated by the directory manager code

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.

Unwanted(&'static str)

We received a document we didn’t want at all.

NetDirOlder

The NetDir we downloaded is older than the one we already have.

NoDownloadSupport

This DirMgr doesn’t support downloads.

CacheCorruption(&'static str)

We couldn’t read something from disk that we should have been able to read.

SqliteError(Arc<Error>)

rusqlite gave us an error.

UnrecognizedSchema

A schema version that says we can’t read it.

DirectoryNotPresent

User requested an operation that required a usable bootstrapped directory, but we didn’t have one.

UnrecognizedAuthorities

A consensus document is signed by an unrecognized authority set.

ManagerDropped

A directory manager has been dropped; background tasks can exit too.

CantAdvanceState

We made a bunch of attempts, but weren’t unable to advance the state of a download.

StorageError(String)

Blob storage error

ConsensusDiffError(Error)

An error given by the consensus diff crate.

BadUtf8FromDirectory(FromUtf8Error)

Invalid UTF8 in directory response.

BadUtf8InCache(Utf8Error)

Invalid UTF8 from our cache.

BadHexInCache(FromHexError)

Invalid hexadecimal value in the cache.

NetDocError

Fields

source: DocSource

Where the document came from.

cause: Error

What error we got.

An error given by the network document crate.

ConsensusInvalid

Fields

source: DocSource

Where the document came from.

cause: Error

What error we got.

An error indicating that the consensus could not be validated.

This kind of error is only returned during the certificate fetching state; it indicates that a consensus which previously seemed to be plausible has turned out to be wrong after we got the certificates.

UntimelyObject(TimeValidityError)

An error caused by an expired or not-yet-valid object.

DirClientError(Error)

An error given by dirclient

SignatureError(Arc<Error>)

An error given by the checkable crate.

IOError(Arc<Error>)

An IO error occurred while manipulating storage on disk.

OfflineMode

An attempt was made to bootstrap a DirMgr created in offline mode.

CachePermissions(Error)

A problem with file permissions on our cache directory.

Spawn

Fields

spawning: &'static str

What we were trying to spawn

cause: Arc<SpawnError>

What happened when we tried to spawn it

Unable to spawn task

ExternalDirProvider

Fields

cause: Arc<dyn Error + Send + Sync + 'static>

What happened

kind: ErrorKind

The kind

Other error from an external directory provider

Bug(Bug)

A programming problem, either in our code or the code calling it.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Converts to this type from the input type.

Return the kind of this error.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s. Read more

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s. Read more

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

Should always be Self

The resulting type after obtaining ownership.

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

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more