Enum strict_encoding::Error[][src]

pub enum Error {
    Io(IoError),
    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 during data strict encoding: {0}

Utf8Conversion

String data are not in valid UTF-8 encoding

ExceedMaxItems(usize)

A collection (slice, vector or other type) has more items ({0}) 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 {0} has underlying primitive type that does not fit into u8 value

EnumValueNotKnown(Stringu8)

An unsupported value {0} for enum {0} 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. More details from error source: {0}

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

Decoding resulted in value {2} for type {0} that exceeds the supported range {1:#?}

RepeatedValue(String)

A repeated value for {0} 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)

Data integrity problem during strict decoding operation: {0}

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 Error[src]

impl From<Error> for Error[src]

impl From<Error> for Error[src]

impl From<ErrorKind> for Error[src]

impl From<FromUtf8Error> for Error[src]

impl From<Utf8Error> for Error[src]

impl Hash 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> 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.