Matter::Device::LifecycleManager
Inherits Reference < Object
Wires fabric lifecycle events (commissioning/operational transitions) to:
- mDNS advertisements
- protocol session/subscription cleanup
- OperationalCredentials trusted root restoration
The device/application can still hook into these events, but does not need to manually persist sessions/subscriptions or manage advertisement state.
Constants
Log = ::Log.for("matter.device.lifecycle")
Constructors
new(fabric_table : FabricTable, message_handler : Protocol::SessionManager, operational_credentials : Cluster::OperationalCredentialsCluster, responder : MDNS::ResponderInterface, commissioning_info : Proc(MDNS::CommissioningInfo), port : Int32 = 5540, operational_info_factory : Proc(Fabric, MDNS::OperationalInfo) | Nil = nil, fabric_session_cleanup_delay : Time::Span = 1.second)
SourceInstance methods
commissioned?
Sourcemode
Sourceon_commissioned=(on_commissioned : Proc(Fabric, Nil) | Nil)
Called when transitioning from 0 -> 1 fabrics.
on_decommissioned=(on_decommissioned : Proc(Nil) | Nil)
Called when transitioning from 1 -> 0 fabrics.
on_fabric_removed=(on_fabric_removed : Proc(UInt8, Nil) | Nil)
Called for every fabric removed.