[][src]Enum sveppa_bencode::BencodeParserError

pub enum BencodeParserError {
    InvalidVariantMethod(String),
    InvalidUTF8String(FromUtf8Error),
    InvalidASCIIInteger(ParseIntError),
    MissingSentinel,
    InvalidASCIIBytes,
    InvalidIntegerString,
    ByteStringLengthOverflow,
    BadDictionaryKey,
    NotAValidBencodeByte,
    BadFirstByte,
}

Possible error values when parsing a bencode struct into a value, or utf8 bytes into a bencode struct.

Variants

InvalidVariantMethod(String)

When you call an enum destructuring method on the wrong variant. Contains a message with invalid type and which method it was passed to.

eg: calling as_int() on Bencode::List, or as_list() on Bencode::Dict, etc.

InvalidUTF8String(FromUtf8Error)

An invalid UTF8 byte sequence was found when calling as_usize() or as_string().

eg: some byte outside of the standard ASCII range.

InvalidASCIIInteger(ParseIntError)

An invalid ASCII byte was found when calling as_usize().

See: ParseIntError on usize::from_str_radix()

MissingSentinel

Indicates an expected 'e' was missing. All bencode types except ByteStr expect an 'e' byte after data to indicate the end of the object.

InvalidASCIIBytes

Indicates that the bytes passed to a parse function are not valid ASCII.

InvalidIntegerString

Indicates that bytes passed to a parse function were valid ascii, but could not be parsed to an integer. (in cases like bytestr length, or an integer value.)

ByteStringLengthOverflow

Indicates that the length specified by a bytestring is longer than the remaining number of bytes passed into the parse function.

BadDictionaryKey

Indicates that while parsing a dictionary object, a non bytestring key was found.

NotAValidBencodeByte

when a character is encountered by the parse_child function, that is not applicable to any of the bencode types.

BadFirstByte

Indicates that the first byte of the array passed to a parsing function was not valid.

eg: as_int where first byte is not 'i', as_bstr where the first byte is not [0-9], etc.

Trait Implementations

impl Debug for BencodeParserError[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> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[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.