[][src]Enum lnpbp::strict_encoding::Error

pub enum Error {
    Io(ErrorKind),
    Utf8Conversion,
    ExceedMaxItems(usize),
    WrongOptionalEncoding(u8),
    EnumValueOverflow(String),
    EnumValueNotKnown(Stringu8),
    UnsupportedDataStructure(&'static str),
    ValueOutOfRange(&'static strRange<u128>, u128),
    RepeatedValue(String),
    DataNotEntirelyConsumed,
    DataIntegrityError(String),
}

Possible errors during strict encoding and decoding process

Variants

I/O Error

Utf8Conversion

UTF8 Conversion Error

ExceedMaxItems(usize)

A collection (slice, vector or other type) has more items than 2^16 (i.e. maximum value which may be held by u16 size representation according to the LNPBP-6 spec)

WrongOptionalEncoding(u8)

In terms of strict encoding, we interpret Option as a zero-length Vec (for Optional::None) or single-item Vec (for Optional::Some). For decoding an attempt to read Option from a encoded non-0 or non-1 length Vec will result in Error::WrongOptionalEncoding.

EnumValueOverflow(String)

Enums are encoded as a u8-based values; the provided enum has underlying primitive type that does not fit into u8 value

EnumValueNotKnown(Stringu8)

An unsupported value for enum encountered during decode operation

UnsupportedDataStructure(&'static str)

The data are correct, however their structure indicate that they were created with the future software version which has functional absent in the current implementation

ValueOutOfRange(&'static strRange<u128>, u128)

Found a value during decoding operation that does not fits into the supported range

RepeatedValue(String)

A repeated value found during set collection deserialization

DataNotEntirelyConsumed

Returned by the convenience method strict_decode if not all provided data were consumed during decoding process

DataIntegrityError(String)

Convenience type never for data structures using StrictDecode

Trait Implementations

impl Clone for Error[src]

impl Debug for Error[src]

impl Display for Error[src]

impl Eq for Error[src]

impl Error for Error[src]

impl From<Error> for String[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<Error> for ParseError[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<FromUtf8Error> for Error[src]

impl From<Utf8Error> for Error[src]

impl PartialEq<Error> for Error[src]

impl StructuralEq for Error[src]

impl StructuralPartialEq for Error[src]

Auto Trait Implementations

impl RefUnwindSafe for Error

impl Send for Error

impl Sync for Error

impl Unpin for Error

impl UnwindSafe for Error

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> Same<T> for T

type Output = T

Should always be Self

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>,