Expand description
BACnet error types.
Provides the top-level Error type used throughout the library,
covering protocol errors, encoding/decoding failures, transport issues,
and timeouts.
Without alloc it keeps only the variants that own nothing: a decoder’s
DecodeError, an encoder’s EncodeError, a constructor’s
RangeError and a segmenter’s SegmentationError carry static
labels or numbers and build their text when displayed (#1646, #1802).
The variants holding a String or a Box need alloc.
Structs§
- Decode
Error - A decoder’s refusal, without an allocated message (#1646).
- Encode
Error - A value an encoder or validator refused to put on the wire, without an allocated message (#1802).
- Range
Error - A value a checked constructor refused for lying outside the range its type takes, such as an object instance past 4,194,303 (#1646).
Enums§
- Decoding
Kind - Which fault a decoder found in the data it refused, so a responder can
name it (#1446).
DecodingKind::reject_reasongives the Clause 18.9 Reject reason each kind draws when the data was a confirmed request. - Error
- Top-level error type for the BACnet library.
- Error
Detail - The fields a Clause 21 error production adds to the error class and code,
one variant per shape. The service the error answers names the production.
Only with
alloc. - Read
Range Violation - A rule a ReadRange acknowledgement can break against the request it answers (Clause 15.8).
- Remote
Error - How a peer turned a confirmed request down: an Error PDU’s class and code, or a Reject or Abort PDU’s reason (Clauses 20.1.5 to 20.1.7).
- Segmentation
Error - Why a payload could not be split into segments, or its segments put back together, or a segmented request sent (#1802).
Type Aliases§
- Result
- Convenience alias for
Result<T, Error>.