pub enum ClientError {
DataLink(DataLinkError),
Encode(EncodeError),
Decode(DecodeError),
Timeout,
RemoteServiceError {
service_choice: u8,
error_class_raw: Option<u32>,
error_code_raw: Option<u32>,
error_class: Option<ErrorClass>,
error_code: Option<ErrorCode>,
},
RemoteReject {
reason: u8,
},
RemoteAbort {
reason: u8,
server: bool,
},
SegmentNegativeAck {
sequence_number: u8,
},
SegmentedRequestTooLarge,
ResponseTooLarge {
limit: usize,
},
UnsupportedResponse,
NoTokioRuntime,
}Expand description
Errors returned by BacnetClient operations.
Variants§
DataLink(DataLinkError)
The underlying transport layer returned an error (send, receive, or bind failure).
Encode(EncodeError)
An APDU or NPDU could not be encoded into the output buffer.
Decode(DecodeError)
An APDU or NPDU received from the network could not be decoded.
Timeout
No response was received from the remote device within the configured timeout.
RemoteServiceError
The remote device responded with a BACnet Error PDU for service_choice.
The raw numeric error class and code are always present when the device sends them;
the typed variants are Some only when the values are recognised by this library.
Fields
error_class: Option<ErrorClass>RemoteReject
The remote device rejected the request with the given BACnet reject reason code.
RemoteAbort
The remote device (or router) aborted the transaction. server is true when
the Abort PDU was sent by the server side.
SegmentNegativeAck
A segment-ACK with the negative-ACK bit set was received for sequence_number
during a segmented confirmed request.
SegmentedRequestTooLarge
The encoded request payload is too large to fit within 255 segments of the negotiated maximum APDU size.
ResponseTooLarge
The reassembled segmented response exceeded the internal 1 MiB safety limit.
UnsupportedResponse
The response received from the device was syntactically valid but not understood (e.g. unexpected APDU type, missing required fields, or unsupported segmentation).
NoTokioRuntime
A CovManager or other component attempted to spawn a Tokio task outside of a
Tokio runtime context.