#[non_exhaustive]pub enum Error {
Show 21 variants
Store(StoreError),
Codec(Error),
Cert(Error),
Noc(NocError),
Signer(String),
Snapshot(String),
Driver(DriverError),
Transport(Error),
NotCommissioned(String),
ControllerStopped,
InteractionModel(ImError),
Operational(String),
Trust(String),
SetupCode(String),
NoTrust,
CommissioningWindowRejected(u8),
WouldRemoveSelf,
OperationalCredentialsRejected(u8),
AclWouldLockOut,
GroupCommandRejected(u8),
GroupNotProvisioned(u16),
}Expand description
Errors surfaced by the controller’s persistence and identity layer.
#[non_exhaustive] so later sub-phases can add networked variants
(e.g. SessionLost, DeviceUnreachable) without a breaking change.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Store(StoreError)
The backing ControllerStore failed.
Codec(Error)
TLV encode/decode of the snapshot blob failed.
Cert(Error)
A certificate failed to parse or serialize.
Noc(NocError)
NOC/RCAC issuance failed.
Signer(String)
A signing key could not be generated or reconstructed.
Snapshot(String)
The persisted snapshot was structurally invalid or an unknown version.
Driver(DriverError)
CASE session establishment failed, or a driver operation errored.
Transport(Error)
A transport / session-manager (framing, MRP) operation failed.
NotCommissioned(String)
No fabric exists, or the requested node/fabric is not addressable.
ControllerStopped
The owning controller task has stopped (channel closed).
InteractionModel(ImError)
An Interaction-Model request/response failed to build or parse.
Operational(String)
An operational-path failure with a human-readable detail — a key derivation (operational IPK / compressed fabric id), a transport/session send or decode, a request timeout, or a subscription liveness timeout.
Trust(String)
Attestation trust material could not be loaded.
SetupCode(String)
The setup code (QR / manual) could not be parsed.
NoTrust
No attestation trust configured; commissioning cannot verify the device.
CommissioningWindowRejected(u8)
An AdministratorCommissioning command returned a non-success IM status
(e.g. 0x02 Busy, 0x03 PAKEParameterError, 0x04 WindowNotOpen reported as
a cluster status). The raw IM status byte is preserved.
WouldRemoveSelf
Refused to remove the controller’s own fabric (would sever the CASE
session and orphan persisted device state). No force override exists.
OperationalCredentialsRejected(u8)
An OperationalCredentials command returned a non-success
NodeOperationalCertStatusEnum (e.g. 7 InvalidFabricIndex). Raw code preserved.
AclWouldLockOut
Refused an ACL write that would strip our own administrative access (no Administer/CASE entry covering our commissioner node id). Prevents orphaning the device. Checked before any bytes are sent.
GroupCommandRejected(u8)
A Groups / GroupKeyManagement command returned a non-success status
(e.g. ResourceExhausted from MaxGroupsPerFabric). Raw status preserved.
GroupNotProvisioned(u16)
A group send (invoke_group) named a key_set_id that has not been
provisioned on the controller’s fabric (no matching
GroupKeySetConfig in group_keys). Call
MatterController::create_group
first to mint and persist the key set.
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()