Enum tor_netdoc::Error[][src]

#[non_exhaustive]
pub enum Error {
Show variants Internal(Pos), MissingKeyword(Pos), TruncatedLine(Pos), BadKeyword(Pos), BadObjectBeginTag(Pos), BadObjectEndTag(Pos), BadObjectMismatchedTag(Pos), BadObjectBase64(Pos), DuplicateToken(&'static strPos), UnexpectedToken(&'static strPos), MissingToken(&'static str), MisplacedToken(&'static strPos), TooManyArguments(&'static strPos), TooFewArguments(&'static strPos), UnexpectedObject(&'static strPos), MissingObject(&'static strPos), WrongObject(Pos), MissingArgument(Pos), BadArgument(PosString), BadObjectVal(PosString), BadSignature(Pos), BadTorVersion(Pos), BadPolicy(PosPolicyError), Untimely(PosTimeValidityError), Undecodable(PosError), BadDocumentVersion(u32), BadDocumentType, WrongStartingToken(StringPos), WrongEndingToken(StringPos), WrongSortOrder(Pos), InvalidLifetime, CannotBuild(&'static str),
}
Expand description

An error that occurred while parsing a directory object of some kind.

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.
Internal(Pos)

An internal error in the parser: these should never happen.

MissingKeyword(Pos)

An entry was found with no keyword.

TruncatedLine(Pos)

An entry was found with no newline at the end.

BadKeyword(Pos)

A bad string was found in the keyword position.

BadObjectBeginTag(Pos)

We found an ill-formed “BEGIN FOO” tag.

BadObjectEndTag(Pos)

We found an ill-formed “END FOO” tag.

BadObjectMismatchedTag(Pos)

We found a “BEGIN FOO” tag with an “END FOO” tag that didn’t match.

BadObjectBase64(Pos)

We found a base64 object with an invalid base64 encoding.

DuplicateToken(&'static strPos)

The document is not supposed to contain more than one of some kind of entry, but we found one anyway.

UnexpectedToken(&'static strPos)

The document is not supposed to contain any of some particular kind of entry, but we found one anyway.

MissingToken(&'static str)

The document is supposed to contain any of some particular kind of entry, but we didn’t find one one anyway.

MisplacedToken(&'static strPos)

The document was supposed to have one of these, but not where we found it.

TooManyArguments(&'static strPos)

We found more arguments on an entry than it is allowed to hav.e

TooFewArguments(&'static strPos)

We didn’t fine enough arguments for some entry.

UnexpectedObject(&'static strPos)

We found an object attached to an entry that isn’t supposed to have one.

MissingObject(&'static strPos)

An entry was supposed to have an object, but it didn’t.

WrongObject(Pos)

We found an object on an entry, but the type was wrong.

MissingArgument(Pos)

We tried to find an argument that we were sure would be there, but it wasn’t!

This error should never occur in correct code; it should be caught earlier by TooFewArguments.

BadArgument(PosString)

We found an argument that couldn’t be parsed.

BadObjectVal(PosString)

We found an object that couldn’t be parsed after it was decoded.

BadSignature(Pos)

There was some signature that we couldn’t validate.

BadTorVersion(Pos)

There was a tor version we couldn’t parse.

BadPolicy(PosPolicyError)

There was an ipv4 or ipv6 policy entry that we couldn’t parse.

An object was expired or not yet valid.

Undecodable(PosError)

An underlying byte sequence couldn’t be decoded.

BadDocumentVersion(u32)

Versioned document with an unrecognized version.

BadDocumentType

Unexpected document type

WrongStartingToken(StringPos)

Document or section started with wrong token

WrongEndingToken(StringPos)

Document or section ended with wrong token

WrongSortOrder(Pos)

Items not sorted as expected

InvalidLifetime

A consensus lifetime was ill-formed.

CannotBuild(&'static str)

We’re unable to finish building an object, for some reason.

Implementations

Return a new error based on this one, with any byte-based position mapped to some line within a string.

Return a new error based on this one, with the position (if any) replaced by ‘p’.

Return a new error based on this one, with the position (if replaced by ‘p’ if it had no position before.

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

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

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

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

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

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

recently added

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.