#[non_exhaustive]pub enum Error {
}Expand description
All errors matter-codec can produce.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnexpectedEof
The reader reached the end of the input before completing an element.
InvalidTagControl(u8)
The reader encountered a tag-control byte that does not match any defined tag form.
InvalidElementType(u8)
The reader encountered an element-type code that is not defined by the spec or is not yet supported by this crate.
InvalidUtf8(Utf8Error)
A UTF-8 string element contained an invalid byte sequence.
Produced by TlvReader::next when reading a UTF-8 element whose
payload bytes fail core::str::from_utf8 validation.
IntegerOutOfRange
An integer payload could not be represented in the declared width.
BufferTooSmall
The writer was asked to emit into a buffer that has no room.
Reserved for the fixed-buffer writer variant; the Vec<u8>-backed
writer used in phase 1 cannot trigger this.
LengthOverflow
A length field would exceed usize::MAX.
UnexpectedEndOfContainer
A bare end-of-container marker (0x18) was read at the top level,
with no container open.
UnclosedContainer
End of input was reached while reading the children of a container, before a closing end-of-container marker arrived.
ContainerTooDeep
A container was opened at a depth that exceeds the reader’s nesting limit (32 levels per the Matter spec recommendation).
NonAnonymousArrayTag
An array child carried a non-anonymous tag. The Matter spec requires every array element to be anonymous; the decoder fails closed rather than silently discarding the offending tag.
ElementBudgetExceeded
A single tree-builder decode produced more elements than the configured budget allows. This bounds memory amplification from inputs packed with many tiny scalars.
InternalSliceConversion
An internal fixed-width byte-slice conversion failed. The preceding bounds check guarantees the slice length, so this branch is effectively unreachable; it exists so the conversion is never mislabeled as a different failure mode.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()