@matter/protocol 0.11.0-alpha.0-20241005-e3e4e4a7a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/cjs/MatterDevice.d.ts +79 -0
- package/dist/cjs/MatterDevice.d.ts.map +1 -0
- package/dist/cjs/MatterDevice.js +253 -0
- package/dist/cjs/MatterDevice.js.map +6 -0
- package/dist/cjs/ble/Ble.d.ts +29 -0
- package/dist/cjs/ble/Ble.d.ts.map +1 -0
- package/dist/cjs/ble/Ble.js +50 -0
- package/dist/cjs/ble/Ble.js.map +6 -0
- package/dist/cjs/ble/BleConsts.d.ts +32 -0
- package/dist/cjs/ble/BleConsts.d.ts.map +1 -0
- package/dist/cjs/ble/BleConsts.js +53 -0
- package/dist/cjs/ble/BleConsts.js.map +6 -0
- package/dist/cjs/ble/BtpSessionHandler.d.ts +87 -0
- package/dist/cjs/ble/BtpSessionHandler.d.ts.map +1 -0
- package/dist/cjs/ble/BtpSessionHandler.js +432 -0
- package/dist/cjs/ble/BtpSessionHandler.js.map +6 -0
- package/dist/cjs/ble/index.d.ts +9 -0
- package/dist/cjs/ble/index.d.ts.map +1 -0
- package/dist/cjs/ble/index.js +26 -0
- package/dist/cjs/ble/index.js.map +6 -0
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts +28 -0
- package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/AttestationCertificateManager.js +171 -0
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +6 -0
- package/dist/cjs/certificate/CertificateManager.d.ts +575 -0
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/CertificateManager.js +810 -0
- package/dist/cjs/certificate/CertificateManager.js.map +6 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +5 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +1 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.js +54 -0
- package/dist/cjs/certificate/CertificationDeclarationManager.js.map +6 -0
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts +14 -0
- package/dist/cjs/certificate/ChipPAAuthorities.d.ts.map +1 -0
- package/dist/cjs/certificate/ChipPAAuthorities.js +57 -0
- package/dist/cjs/certificate/ChipPAAuthorities.js.map +6 -0
- package/dist/cjs/certificate/DeviceCertification.d.ts +30 -0
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -0
- package/dist/cjs/certificate/DeviceCertification.js +103 -0
- package/dist/cjs/certificate/DeviceCertification.js.map +6 -0
- package/dist/cjs/certificate/RootCertificateManager.d.ts +33 -0
- package/dist/cjs/certificate/RootCertificateManager.d.ts.map +1 -0
- package/dist/cjs/certificate/RootCertificateManager.js +142 -0
- package/dist/cjs/certificate/RootCertificateManager.js.map +6 -0
- package/dist/cjs/certificate/index.d.ts +12 -0
- package/dist/cjs/certificate/index.d.ts.map +1 -0
- package/dist/cjs/certificate/index.js +29 -0
- package/dist/cjs/certificate/index.js.map +6 -0
- package/dist/cjs/cluster/client/AttributeClient.d.ts +61 -0
- package/dist/cjs/cluster/client/AttributeClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/AttributeClient.js +177 -0
- package/dist/cjs/cluster/client/AttributeClient.js.map +6 -0
- package/dist/cjs/cluster/client/ClusterClient.d.ts +10 -0
- package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/ClusterClient.js +281 -0
- package/dist/cjs/cluster/client/ClusterClient.js.map +6 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +171 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.js +22 -0
- package/dist/cjs/cluster/client/ClusterClientTypes.js.map +6 -0
- package/dist/cjs/cluster/client/EventClient.d.ts +41 -0
- package/dist/cjs/cluster/client/EventClient.d.ts.map +1 -0
- package/dist/cjs/cluster/client/EventClient.js +94 -0
- package/dist/cjs/cluster/client/EventClient.js.map +6 -0
- package/dist/cjs/cluster/client/index.d.ts +10 -0
- package/dist/cjs/cluster/client/index.d.ts.map +1 -0
- package/dist/cjs/cluster/client/index.js +27 -0
- package/dist/cjs/cluster/client/index.js.map +6 -0
- package/dist/cjs/cluster/index.d.ts +8 -0
- package/dist/cjs/cluster/index.d.ts.map +1 -0
- package/dist/cjs/cluster/index.js +25 -0
- package/dist/cjs/cluster/index.js.map +6 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts +307 -0
- package/dist/cjs/cluster/server/AttributeServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/AttributeServer.js +734 -0
- package/dist/cjs/cluster/server/AttributeServer.js.map +6 -0
- package/dist/cjs/cluster/server/ClusterDatasource.d.ts +16 -0
- package/dist/cjs/cluster/server/ClusterDatasource.d.ts.map +1 -0
- package/dist/cjs/cluster/server/ClusterDatasource.js +22 -0
- package/dist/cjs/cluster/server/ClusterDatasource.js.map +6 -0
- package/dist/cjs/cluster/server/ClusterServer.d.ts +40 -0
- package/dist/cjs/cluster/server/ClusterServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/ClusterServer.js +22 -0
- package/dist/cjs/cluster/server/ClusterServer.js.map +6 -0
- package/dist/cjs/cluster/server/CommandServer.d.ts +34 -0
- package/dist/cjs/cluster/server/CommandServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/CommandServer.js +76 -0
- package/dist/cjs/cluster/server/CommandServer.js.map +6 -0
- package/dist/cjs/cluster/server/EventServer.d.ts +41 -0
- package/dist/cjs/cluster/server/EventServer.d.ts.map +1 -0
- package/dist/cjs/cluster/server/EventServer.js +149 -0
- package/dist/cjs/cluster/server/EventServer.js.map +6 -0
- package/dist/cjs/cluster/server/index.d.ts +11 -0
- package/dist/cjs/cluster/server/index.d.ts.map +1 -0
- package/dist/cjs/cluster/server/index.js +28 -0
- package/dist/cjs/cluster/server/index.js.map +6 -0
- package/dist/cjs/codec/BtpCodec.d.ts +78 -0
- package/dist/cjs/codec/BtpCodec.d.ts.map +1 -0
- package/dist/cjs/codec/BtpCodec.js +254 -0
- package/dist/cjs/codec/BtpCodec.js.map +6 -0
- package/dist/cjs/codec/MessageCodec.d.ts +63 -0
- package/dist/cjs/codec/MessageCodec.d.ts.map +1 -0
- package/dist/cjs/codec/MessageCodec.js +220 -0
- package/dist/cjs/codec/MessageCodec.js.map +6 -0
- package/dist/cjs/codec/index.d.ts +9 -0
- package/dist/cjs/codec/index.d.ts.map +1 -0
- package/dist/cjs/codec/index.js +36 -0
- package/dist/cjs/codec/index.js.map +6 -0
- package/dist/cjs/common/FailsafeContext.d.ts +79 -0
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -0
- package/dist/cjs/common/FailsafeContext.js +237 -0
- package/dist/cjs/common/FailsafeContext.js.map +6 -0
- package/dist/cjs/common/FailsafeTimer.d.ts +25 -0
- package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -0
- package/dist/cjs/common/FailsafeTimer.js +91 -0
- package/dist/cjs/common/FailsafeTimer.js.map +6 -0
- package/dist/cjs/common/InstanceBroadcaster.d.ts +273 -0
- package/dist/cjs/common/InstanceBroadcaster.d.ts.map +1 -0
- package/dist/cjs/common/InstanceBroadcaster.js +139 -0
- package/dist/cjs/common/InstanceBroadcaster.js.map +6 -0
- package/dist/cjs/common/OperationalCredentialsTypes.d.ts +21 -0
- package/dist/cjs/common/OperationalCredentialsTypes.d.ts.map +1 -0
- package/dist/cjs/common/OperationalCredentialsTypes.js +45 -0
- package/dist/cjs/common/OperationalCredentialsTypes.js.map +6 -0
- package/dist/cjs/common/Scanner.d.ts +121 -0
- package/dist/cjs/common/Scanner.d.ts.map +1 -0
- package/dist/cjs/common/Scanner.js +51 -0
- package/dist/cjs/common/Scanner.js.map +6 -0
- package/dist/cjs/common/index.d.ts +12 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +29 -0
- package/dist/cjs/common/index.js.map +6 -0
- package/dist/cjs/endpoint/EndpointInterface.d.ts +37 -0
- package/dist/cjs/endpoint/EndpointInterface.d.ts.map +1 -0
- package/dist/cjs/endpoint/EndpointInterface.js +22 -0
- package/dist/cjs/endpoint/EndpointInterface.js.map +6 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.d.ts +31 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.d.ts.map +1 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.js +236 -0
- package/dist/cjs/endpoint/EndpointStructureLogger.js.map +6 -0
- package/dist/cjs/endpoint/index.d.ts +8 -0
- package/dist/cjs/endpoint/index.d.ts.map +1 -0
- package/dist/cjs/endpoint/index.js +25 -0
- package/dist/cjs/endpoint/index.js.map +6 -0
- package/dist/cjs/fabric/Fabric.d.ts +121 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -0
- package/dist/cjs/fabric/Fabric.js +427 -0
- package/dist/cjs/fabric/Fabric.js.map +6 -0
- package/dist/cjs/fabric/FabricManager.d.ts +44 -0
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -0
- package/dist/cjs/fabric/FabricManager.js +209 -0
- package/dist/cjs/fabric/FabricManager.js.map +6 -0
- package/dist/cjs/fabric/index.d.ts +8 -0
- package/dist/cjs/fabric/index.d.ts.map +1 -0
- package/dist/cjs/fabric/index.js +25 -0
- package/dist/cjs/fabric/index.js.map +6 -0
- package/dist/cjs/index.d.ts +20 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +6 -0
- package/dist/cjs/interaction/AccessControlManager.d.ts +49 -0
- package/dist/cjs/interaction/AccessControlManager.d.ts.map +1 -0
- package/dist/cjs/interaction/AccessControlManager.js +248 -0
- package/dist/cjs/interaction/AccessControlManager.js.map +6 -0
- package/dist/cjs/interaction/AttributeDataDecoder.d.ts +52 -0
- package/dist/cjs/interaction/AttributeDataDecoder.d.ts.map +1 -0
- package/dist/cjs/interaction/AttributeDataDecoder.js +185 -0
- package/dist/cjs/interaction/AttributeDataDecoder.js.map +6 -0
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts +71 -0
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts.map +1 -0
- package/dist/cjs/interaction/AttributeDataEncoder.js +190 -0
- package/dist/cjs/interaction/AttributeDataEncoder.js.map +6 -0
- package/dist/cjs/interaction/EventDataDecoder.d.ts +30 -0
- package/dist/cjs/interaction/EventDataDecoder.d.ts.map +1 -0
- package/dist/cjs/interaction/EventDataDecoder.js +103 -0
- package/dist/cjs/interaction/EventDataDecoder.js.map +6 -0
- package/dist/cjs/interaction/EventHandler.d.ts +42 -0
- package/dist/cjs/interaction/EventHandler.d.ts.map +1 -0
- package/dist/cjs/interaction/EventHandler.js +112 -0
- package/dist/cjs/interaction/EventHandler.js.map +6 -0
- package/dist/cjs/interaction/InteractionClient.d.ts +294 -0
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionClient.js +829 -0
- package/dist/cjs/interaction/InteractionClient.js.map +6 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.d.ts +59 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.js +341 -0
- package/dist/cjs/interaction/InteractionEndpointStructure.js.map +6 -0
- package/dist/cjs/interaction/InteractionMessenger.d.ts +315 -0
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionMessenger.js +484 -0
- package/dist/cjs/interaction/InteractionMessenger.js.map +6 -0
- package/dist/cjs/interaction/InteractionServer.d.ts +97 -0
- package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -0
- package/dist/cjs/interaction/InteractionServer.js +1026 -0
- package/dist/cjs/interaction/InteractionServer.js.map +6 -0
- package/dist/cjs/interaction/ServerSubscription.d.ts +121 -0
- package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -0
- package/dist/cjs/interaction/ServerSubscription.js +672 -0
- package/dist/cjs/interaction/ServerSubscription.js.map +6 -0
- package/dist/cjs/interaction/Subscription.d.ts +44 -0
- package/dist/cjs/interaction/Subscription.d.ts.map +1 -0
- package/dist/cjs/interaction/Subscription.js +85 -0
- package/dist/cjs/interaction/Subscription.js.map +6 -0
- package/dist/cjs/interaction/SubscriptionOptions.d.ts +43 -0
- package/dist/cjs/interaction/SubscriptionOptions.d.ts.map +1 -0
- package/dist/cjs/interaction/SubscriptionOptions.js +46 -0
- package/dist/cjs/interaction/SubscriptionOptions.js.map +6 -0
- package/dist/cjs/interaction/index.d.ts +17 -0
- package/dist/cjs/interaction/index.d.ts.map +1 -0
- package/dist/cjs/interaction/index.js +34 -0
- package/dist/cjs/interaction/index.js.map +6 -0
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +34 -0
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsBroadcaster.js +338 -0
- package/dist/cjs/mdns/MdnsBroadcaster.js.map +6 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts +19 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsConsts.js +52 -0
- package/dist/cjs/mdns/MdnsConsts.js.map +6 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +28 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +87 -0
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +6 -0
- package/dist/cjs/mdns/MdnsScanner.d.ts +79 -0
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsScanner.js +842 -0
- package/dist/cjs/mdns/MdnsScanner.js.map +6 -0
- package/dist/cjs/mdns/MdnsServer.d.ts +29 -0
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsServer.js +275 -0
- package/dist/cjs/mdns/MdnsServer.js.map +6 -0
- package/dist/cjs/mdns/MdnsService.d.ts +28 -0
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsService.js +95 -0
- package/dist/cjs/mdns/MdnsService.js.map +6 -0
- package/dist/cjs/mdns/index.d.ts +12 -0
- package/dist/cjs/mdns/index.d.ts.map +1 -0
- package/dist/cjs/mdns/index.js +29 -0
- package/dist/cjs/mdns/index.js.map +6 -0
- package/dist/cjs/package.json +10 -0
- package/dist/cjs/peer/ControllerCommissioner.d.ts +82 -0
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -0
- package/dist/cjs/peer/ControllerCommissioner.js +224 -0
- package/dist/cjs/peer/ControllerCommissioner.js.map +6 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +88 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.js +849 -0
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +6 -0
- package/dist/cjs/peer/ControllerDiscovery.d.ts +43 -0
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -0
- package/dist/cjs/peer/ControllerDiscovery.js +192 -0
- package/dist/cjs/peer/ControllerDiscovery.js.map +6 -0
- package/dist/cjs/peer/OperationalPeer.d.ts +28 -0
- package/dist/cjs/peer/OperationalPeer.d.ts.map +1 -0
- package/dist/cjs/peer/OperationalPeer.js +22 -0
- package/dist/cjs/peer/OperationalPeer.js.map +6 -0
- package/dist/cjs/peer/PeerAddress.d.ts +30 -0
- package/dist/cjs/peer/PeerAddress.d.ts.map +1 -0
- package/dist/cjs/peer/PeerAddress.js +71 -0
- package/dist/cjs/peer/PeerAddress.js.map +6 -0
- package/dist/cjs/peer/PeerSet.d.ts +98 -0
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -0
- package/dist/cjs/peer/PeerSet.js +500 -0
- package/dist/cjs/peer/PeerSet.js.map +6 -0
- package/dist/cjs/peer/PeerStore.d.ts +17 -0
- package/dist/cjs/peer/PeerStore.d.ts.map +1 -0
- package/dist/cjs/peer/PeerStore.js +31 -0
- package/dist/cjs/peer/PeerStore.js.map +6 -0
- package/dist/cjs/peer/index.d.ts +13 -0
- package/dist/cjs/peer/index.d.ts.map +1 -0
- package/dist/cjs/peer/index.js +30 -0
- package/dist/cjs/peer/index.js.map +6 -0
- package/dist/cjs/protocol/ChannelManager.d.ts +30 -0
- package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -0
- package/dist/cjs/protocol/ChannelManager.js +168 -0
- package/dist/cjs/protocol/ChannelManager.js.map +6 -0
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts +43 -0
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -0
- package/dist/cjs/protocol/DeviceAdvertiser.js +185 -0
- package/dist/cjs/protocol/DeviceAdvertiser.js.map +6 -0
- package/dist/cjs/protocol/DeviceCommissioner.d.ts +49 -0
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -0
- package/dist/cjs/protocol/DeviceCommissioner.js +198 -0
- package/dist/cjs/protocol/DeviceCommissioner.js.map +6 -0
- package/dist/cjs/protocol/ExchangeManager.d.ts +73 -0
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -0
- package/dist/cjs/protocol/ExchangeManager.js +407 -0
- package/dist/cjs/protocol/ExchangeManager.js.map +6 -0
- package/dist/cjs/protocol/MessageCounter.d.ts +57 -0
- package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageCounter.js +104 -0
- package/dist/cjs/protocol/MessageCounter.js.map +6 -0
- package/dist/cjs/protocol/MessageExchange.d.ts +84 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageExchange.js +508 -0
- package/dist/cjs/protocol/MessageExchange.js.map +6 -0
- package/dist/cjs/protocol/MessageReceptionState.d.ts +65 -0
- package/dist/cjs/protocol/MessageReceptionState.d.ts.map +1 -0
- package/dist/cjs/protocol/MessageReceptionState.js +173 -0
- package/dist/cjs/protocol/MessageReceptionState.js.map +6 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts +13 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/cjs/protocol/ProtocolHandler.js +22 -0
- package/dist/cjs/protocol/ProtocolHandler.js.map +6 -0
- package/dist/cjs/protocol/index.d.ts +14 -0
- package/dist/cjs/protocol/index.d.ts.map +1 -0
- package/dist/cjs/protocol/index.js +31 -0
- package/dist/cjs/protocol/index.js.map +6 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +53 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.js +143 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +6 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +31 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.js +140 -0
- package/dist/cjs/securechannel/SecureChannelProtocol.js.map +6 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js +53 -0
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js.map +6 -0
- package/dist/cjs/securechannel/index.d.ts +9 -0
- package/dist/cjs/securechannel/index.d.ts.map +1 -0
- package/dist/cjs/securechannel/index.js +26 -0
- package/dist/cjs/securechannel/index.js.map +6 -0
- package/dist/cjs/session/InsecureSession.d.ts +38 -0
- package/dist/cjs/session/InsecureSession.d.ts.map +1 -0
- package/dist/cjs/session/InsecureSession.js +95 -0
- package/dist/cjs/session/InsecureSession.js.map +6 -0
- package/dist/cjs/session/SecureSession.d.ts +81 -0
- package/dist/cjs/session/SecureSession.d.ts.map +1 -0
- package/dist/cjs/session/SecureSession.js +291 -0
- package/dist/cjs/session/SecureSession.js.map +6 -0
- package/dist/cjs/session/Session.d.ts +102 -0
- package/dist/cjs/session/Session.d.ts.map +1 -0
- package/dist/cjs/session/Session.js +141 -0
- package/dist/cjs/session/Session.js.map +6 -0
- package/dist/cjs/session/SessionManager.d.ts +132 -0
- package/dist/cjs/session/SessionManager.d.ts.map +1 -0
- package/dist/cjs/session/SessionManager.js +410 -0
- package/dist/cjs/session/SessionManager.js.map +6 -0
- package/dist/cjs/session/case/CaseClient.d.ts +18 -0
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseClient.js +216 -0
- package/dist/cjs/session/case/CaseClient.js.map +6 -0
- package/dist/cjs/session/case/CaseMessages.d.ts +82 -0
- package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseMessages.js +97 -0
- package/dist/cjs/session/case/CaseMessages.js.map +6 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts +79 -0
- package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseMessenger.js +74 -0
- package/dist/cjs/session/case/CaseMessenger.js.map +6 -0
- package/dist/cjs/session/case/CaseServer.d.ts +18 -0
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -0
- package/dist/cjs/session/case/CaseServer.js +232 -0
- package/dist/cjs/session/case/CaseServer.js.map +6 -0
- package/dist/cjs/session/index.d.ts +18 -0
- package/dist/cjs/session/index.d.ts.map +1 -0
- package/dist/cjs/session/index.js +35 -0
- package/dist/cjs/session/index.js.map +6 -0
- package/dist/cjs/session/pase/PaseClient.d.ts +18 -0
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseClient.js +101 -0
- package/dist/cjs/session/pase/PaseClient.js.map +6 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts +85 -0
- package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseMessages.js +88 -0
- package/dist/cjs/session/pase/PaseMessages.js.map +6 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts +75 -0
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseMessenger.js +86 -0
- package/dist/cjs/session/pase/PaseMessenger.js.map +6 -0
- package/dist/cjs/session/pase/PaseServer.d.ts +29 -0
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -0
- package/dist/cjs/session/pase/PaseServer.js +159 -0
- package/dist/cjs/session/pase/PaseServer.js.map +6 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/MatterDevice.d.ts +79 -0
- package/dist/esm/MatterDevice.d.ts.map +1 -0
- package/dist/esm/MatterDevice.js +239 -0
- package/dist/esm/MatterDevice.js.map +6 -0
- package/dist/esm/ble/Ble.d.ts +29 -0
- package/dist/esm/ble/Ble.d.ts.map +1 -0
- package/dist/esm/ble/Ble.js +30 -0
- package/dist/esm/ble/Ble.js.map +6 -0
- package/dist/esm/ble/BleConsts.d.ts +32 -0
- package/dist/esm/ble/BleConsts.d.ts.map +1 -0
- package/dist/esm/ble/BleConsts.js +33 -0
- package/dist/esm/ble/BleConsts.js.map +6 -0
- package/dist/esm/ble/BtpSessionHandler.d.ts +87 -0
- package/dist/esm/ble/BtpSessionHandler.d.ts.map +1 -0
- package/dist/esm/ble/BtpSessionHandler.js +419 -0
- package/dist/esm/ble/BtpSessionHandler.js.map +6 -0
- package/dist/esm/ble/index.d.ts +9 -0
- package/dist/esm/ble/index.d.ts.map +1 -0
- package/dist/esm/ble/index.js +9 -0
- package/dist/esm/ble/index.js.map +6 -0
- package/dist/esm/certificate/AttestationCertificateManager.d.ts +28 -0
- package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -0
- package/dist/esm/certificate/AttestationCertificateManager.js +155 -0
- package/dist/esm/certificate/AttestationCertificateManager.js.map +6 -0
- package/dist/esm/certificate/CertificateManager.d.ts +575 -0
- package/dist/esm/certificate/CertificateManager.d.ts.map +1 -0
- package/dist/esm/certificate/CertificateManager.js +837 -0
- package/dist/esm/certificate/CertificateManager.js.map +6 -0
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +5 -0
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +1 -0
- package/dist/esm/certificate/CertificationDeclarationManager.js +34 -0
- package/dist/esm/certificate/CertificationDeclarationManager.js.map +6 -0
- package/dist/esm/certificate/ChipPAAuthorities.d.ts +14 -0
- package/dist/esm/certificate/ChipPAAuthorities.d.ts.map +1 -0
- package/dist/esm/certificate/ChipPAAuthorities.js +37 -0
- package/dist/esm/certificate/ChipPAAuthorities.js.map +6 -0
- package/dist/esm/certificate/DeviceCertification.d.ts +30 -0
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -0
- package/dist/esm/certificate/DeviceCertification.js +83 -0
- package/dist/esm/certificate/DeviceCertification.js.map +6 -0
- package/dist/esm/certificate/RootCertificateManager.d.ts +33 -0
- package/dist/esm/certificate/RootCertificateManager.d.ts.map +1 -0
- package/dist/esm/certificate/RootCertificateManager.js +139 -0
- package/dist/esm/certificate/RootCertificateManager.js.map +6 -0
- package/dist/esm/certificate/index.d.ts +12 -0
- package/dist/esm/certificate/index.d.ts.map +1 -0
- package/dist/esm/certificate/index.js +12 -0
- package/dist/esm/certificate/index.js.map +6 -0
- package/dist/esm/cluster/client/AttributeClient.d.ts +61 -0
- package/dist/esm/cluster/client/AttributeClient.d.ts.map +1 -0
- package/dist/esm/cluster/client/AttributeClient.js +157 -0
- package/dist/esm/cluster/client/AttributeClient.js.map +6 -0
- package/dist/esm/cluster/client/ClusterClient.d.ts +10 -0
- package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -0
- package/dist/esm/cluster/client/ClusterClient.js +267 -0
- package/dist/esm/cluster/client/ClusterClient.js.map +6 -0
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts +171 -0
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -0
- package/dist/esm/cluster/client/ClusterClientTypes.js +6 -0
- package/dist/esm/cluster/client/ClusterClientTypes.js.map +6 -0
- package/dist/esm/cluster/client/EventClient.d.ts +41 -0
- package/dist/esm/cluster/client/EventClient.d.ts.map +1 -0
- package/dist/esm/cluster/client/EventClient.js +74 -0
- package/dist/esm/cluster/client/EventClient.js.map +6 -0
- package/dist/esm/cluster/client/index.d.ts +10 -0
- package/dist/esm/cluster/client/index.d.ts.map +1 -0
- package/dist/esm/cluster/client/index.js +10 -0
- package/dist/esm/cluster/client/index.js.map +6 -0
- package/dist/esm/cluster/index.d.ts +8 -0
- package/dist/esm/cluster/index.d.ts.map +1 -0
- package/dist/esm/cluster/index.js +8 -0
- package/dist/esm/cluster/index.js.map +6 -0
- package/dist/esm/cluster/server/AttributeServer.d.ts +307 -0
- package/dist/esm/cluster/server/AttributeServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/AttributeServer.js +718 -0
- package/dist/esm/cluster/server/AttributeServer.js.map +6 -0
- package/dist/esm/cluster/server/ClusterDatasource.d.ts +16 -0
- package/dist/esm/cluster/server/ClusterDatasource.d.ts.map +1 -0
- package/dist/esm/cluster/server/ClusterDatasource.js +6 -0
- package/dist/esm/cluster/server/ClusterDatasource.js.map +6 -0
- package/dist/esm/cluster/server/ClusterServer.d.ts +40 -0
- package/dist/esm/cluster/server/ClusterServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/ClusterServer.js +6 -0
- package/dist/esm/cluster/server/ClusterServer.js.map +6 -0
- package/dist/esm/cluster/server/CommandServer.d.ts +34 -0
- package/dist/esm/cluster/server/CommandServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/CommandServer.js +56 -0
- package/dist/esm/cluster/server/CommandServer.js.map +6 -0
- package/dist/esm/cluster/server/EventServer.d.ts +41 -0
- package/dist/esm/cluster/server/EventServer.d.ts.map +1 -0
- package/dist/esm/cluster/server/EventServer.js +137 -0
- package/dist/esm/cluster/server/EventServer.js.map +6 -0
- package/dist/esm/cluster/server/index.d.ts +11 -0
- package/dist/esm/cluster/server/index.d.ts.map +1 -0
- package/dist/esm/cluster/server/index.js +11 -0
- package/dist/esm/cluster/server/index.js.map +6 -0
- package/dist/esm/codec/BtpCodec.d.ts +78 -0
- package/dist/esm/codec/BtpCodec.d.ts.map +1 -0
- package/dist/esm/codec/BtpCodec.js +234 -0
- package/dist/esm/codec/BtpCodec.js.map +6 -0
- package/dist/esm/codec/MessageCodec.d.ts +63 -0
- package/dist/esm/codec/MessageCodec.d.ts.map +1 -0
- package/dist/esm/codec/MessageCodec.js +200 -0
- package/dist/esm/codec/MessageCodec.js.map +6 -0
- package/dist/esm/codec/index.d.ts +9 -0
- package/dist/esm/codec/index.d.ts.map +1 -0
- package/dist/esm/codec/index.js +15 -0
- package/dist/esm/codec/index.js.map +6 -0
- package/dist/esm/common/FailsafeContext.d.ts +79 -0
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -0
- package/dist/esm/common/FailsafeContext.js +217 -0
- package/dist/esm/common/FailsafeContext.js.map +6 -0
- package/dist/esm/common/FailsafeTimer.d.ts +25 -0
- package/dist/esm/common/FailsafeTimer.d.ts.map +1 -0
- package/dist/esm/common/FailsafeTimer.js +71 -0
- package/dist/esm/common/FailsafeTimer.js.map +6 -0
- package/dist/esm/common/InstanceBroadcaster.d.ts +273 -0
- package/dist/esm/common/InstanceBroadcaster.d.ts.map +1 -0
- package/dist/esm/common/InstanceBroadcaster.js +119 -0
- package/dist/esm/common/InstanceBroadcaster.js.map +6 -0
- package/dist/esm/common/OperationalCredentialsTypes.d.ts +21 -0
- package/dist/esm/common/OperationalCredentialsTypes.d.ts.map +1 -0
- package/dist/esm/common/OperationalCredentialsTypes.js +25 -0
- package/dist/esm/common/OperationalCredentialsTypes.js.map +6 -0
- package/dist/esm/common/Scanner.d.ts +121 -0
- package/dist/esm/common/Scanner.d.ts.map +1 -0
- package/dist/esm/common/Scanner.js +31 -0
- package/dist/esm/common/Scanner.js.map +6 -0
- package/dist/esm/common/index.d.ts +12 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +12 -0
- package/dist/esm/common/index.js.map +6 -0
- package/dist/esm/endpoint/EndpointInterface.d.ts +37 -0
- package/dist/esm/endpoint/EndpointInterface.d.ts.map +1 -0
- package/dist/esm/endpoint/EndpointInterface.js +6 -0
- package/dist/esm/endpoint/EndpointInterface.js.map +6 -0
- package/dist/esm/endpoint/EndpointStructureLogger.d.ts +31 -0
- package/dist/esm/endpoint/EndpointStructureLogger.d.ts.map +1 -0
- package/dist/esm/endpoint/EndpointStructureLogger.js +216 -0
- package/dist/esm/endpoint/EndpointStructureLogger.js.map +6 -0
- package/dist/esm/endpoint/index.d.ts +8 -0
- package/dist/esm/endpoint/index.d.ts.map +1 -0
- package/dist/esm/endpoint/index.js +8 -0
- package/dist/esm/endpoint/index.js.map +6 -0
- package/dist/esm/fabric/Fabric.d.ts +121 -0
- package/dist/esm/fabric/Fabric.d.ts.map +1 -0
- package/dist/esm/fabric/Fabric.js +422 -0
- package/dist/esm/fabric/Fabric.js.map +6 -0
- package/dist/esm/fabric/FabricManager.d.ts +44 -0
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -0
- package/dist/esm/fabric/FabricManager.js +200 -0
- package/dist/esm/fabric/FabricManager.js.map +6 -0
- package/dist/esm/fabric/index.d.ts +8 -0
- package/dist/esm/fabric/index.d.ts.map +1 -0
- package/dist/esm/fabric/index.js +8 -0
- package/dist/esm/fabric/index.js.map +6 -0
- package/dist/esm/index.d.ts +20 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +20 -0
- package/dist/esm/index.js.map +6 -0
- package/dist/esm/interaction/AccessControlManager.d.ts +49 -0
- package/dist/esm/interaction/AccessControlManager.d.ts.map +1 -0
- package/dist/esm/interaction/AccessControlManager.js +228 -0
- package/dist/esm/interaction/AccessControlManager.js.map +6 -0
- package/dist/esm/interaction/AttributeDataDecoder.d.ts +52 -0
- package/dist/esm/interaction/AttributeDataDecoder.d.ts.map +1 -0
- package/dist/esm/interaction/AttributeDataDecoder.js +171 -0
- package/dist/esm/interaction/AttributeDataDecoder.js.map +6 -0
- package/dist/esm/interaction/AttributeDataEncoder.d.ts +71 -0
- package/dist/esm/interaction/AttributeDataEncoder.d.ts.map +1 -0
- package/dist/esm/interaction/AttributeDataEncoder.js +174 -0
- package/dist/esm/interaction/AttributeDataEncoder.js.map +6 -0
- package/dist/esm/interaction/EventDataDecoder.d.ts +30 -0
- package/dist/esm/interaction/EventDataDecoder.d.ts.map +1 -0
- package/dist/esm/interaction/EventDataDecoder.js +87 -0
- package/dist/esm/interaction/EventDataDecoder.js.map +6 -0
- package/dist/esm/interaction/EventHandler.d.ts +42 -0
- package/dist/esm/interaction/EventHandler.d.ts.map +1 -0
- package/dist/esm/interaction/EventHandler.js +96 -0
- package/dist/esm/interaction/EventHandler.js.map +6 -0
- package/dist/esm/interaction/InteractionClient.d.ts +294 -0
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionClient.js +827 -0
- package/dist/esm/interaction/InteractionClient.js.map +6 -0
- package/dist/esm/interaction/InteractionEndpointStructure.d.ts +59 -0
- package/dist/esm/interaction/InteractionEndpointStructure.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionEndpointStructure.js +343 -0
- package/dist/esm/interaction/InteractionEndpointStructure.js.map +6 -0
- package/dist/esm/interaction/InteractionMessenger.d.ts +315 -0
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionMessenger.js +489 -0
- package/dist/esm/interaction/InteractionMessenger.js.map +6 -0
- package/dist/esm/interaction/InteractionServer.d.ts +97 -0
- package/dist/esm/interaction/InteractionServer.d.ts.map +1 -0
- package/dist/esm/interaction/InteractionServer.js +1027 -0
- package/dist/esm/interaction/InteractionServer.js.map +6 -0
- package/dist/esm/interaction/ServerSubscription.d.ts +121 -0
- package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -0
- package/dist/esm/interaction/ServerSubscription.js +669 -0
- package/dist/esm/interaction/ServerSubscription.js.map +6 -0
- package/dist/esm/interaction/Subscription.d.ts +44 -0
- package/dist/esm/interaction/Subscription.d.ts.map +1 -0
- package/dist/esm/interaction/Subscription.js +65 -0
- package/dist/esm/interaction/Subscription.js.map +6 -0
- package/dist/esm/interaction/SubscriptionOptions.d.ts +43 -0
- package/dist/esm/interaction/SubscriptionOptions.d.ts.map +1 -0
- package/dist/esm/interaction/SubscriptionOptions.js +26 -0
- package/dist/esm/interaction/SubscriptionOptions.js.map +6 -0
- package/dist/esm/interaction/index.d.ts +17 -0
- package/dist/esm/interaction/index.d.ts.map +1 -0
- package/dist/esm/interaction/index.js +17 -0
- package/dist/esm/interaction/index.js.map +6 -0
- package/dist/esm/mdns/MdnsBroadcaster.d.ts +34 -0
- package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsBroadcaster.js +351 -0
- package/dist/esm/mdns/MdnsBroadcaster.js.map +6 -0
- package/dist/esm/mdns/MdnsConsts.d.ts +19 -0
- package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsConsts.js +32 -0
- package/dist/esm/mdns/MdnsConsts.js.map +6 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +28 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js +67 -0
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +6 -0
- package/dist/esm/mdns/MdnsScanner.d.ts +79 -0
- package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsScanner.js +847 -0
- package/dist/esm/mdns/MdnsScanner.js.map +6 -0
- package/dist/esm/mdns/MdnsServer.d.ts +29 -0
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsServer.js +266 -0
- package/dist/esm/mdns/MdnsServer.js.map +6 -0
- package/dist/esm/mdns/MdnsService.d.ts +28 -0
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsService.js +83 -0
- package/dist/esm/mdns/MdnsService.js.map +6 -0
- package/dist/esm/mdns/index.d.ts +12 -0
- package/dist/esm/mdns/index.d.ts.map +1 -0
- package/dist/esm/mdns/index.js +12 -0
- package/dist/esm/mdns/index.js.map +6 -0
- package/dist/esm/package.json +10 -0
- package/dist/esm/peer/ControllerCommissioner.d.ts +82 -0
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -0
- package/dist/esm/peer/ControllerCommissioner.js +211 -0
- package/dist/esm/peer/ControllerCommissioner.js.map +6 -0
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts +88 -0
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -0
- package/dist/esm/peer/ControllerCommissioningFlow.js +832 -0
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +6 -0
- package/dist/esm/peer/ControllerDiscovery.d.ts +43 -0
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -0
- package/dist/esm/peer/ControllerDiscovery.js +172 -0
- package/dist/esm/peer/ControllerDiscovery.js.map +6 -0
- package/dist/esm/peer/OperationalPeer.d.ts +28 -0
- package/dist/esm/peer/OperationalPeer.d.ts.map +1 -0
- package/dist/esm/peer/OperationalPeer.js +6 -0
- package/dist/esm/peer/OperationalPeer.js.map +6 -0
- package/dist/esm/peer/PeerAddress.d.ts +30 -0
- package/dist/esm/peer/PeerAddress.d.ts.map +1 -0
- package/dist/esm/peer/PeerAddress.js +51 -0
- package/dist/esm/peer/PeerAddress.js.map +6 -0
- package/dist/esm/peer/PeerSet.d.ts +98 -0
- package/dist/esm/peer/PeerSet.d.ts.map +1 -0
- package/dist/esm/peer/PeerSet.js +495 -0
- package/dist/esm/peer/PeerSet.js.map +6 -0
- package/dist/esm/peer/PeerStore.d.ts +17 -0
- package/dist/esm/peer/PeerStore.d.ts.map +1 -0
- package/dist/esm/peer/PeerStore.js +11 -0
- package/dist/esm/peer/PeerStore.js.map +6 -0
- package/dist/esm/peer/index.d.ts +13 -0
- package/dist/esm/peer/index.d.ts.map +1 -0
- package/dist/esm/peer/index.js +13 -0
- package/dist/esm/peer/index.js.map +6 -0
- package/dist/esm/protocol/ChannelManager.d.ts +30 -0
- package/dist/esm/protocol/ChannelManager.d.ts.map +1 -0
- package/dist/esm/protocol/ChannelManager.js +148 -0
- package/dist/esm/protocol/ChannelManager.js.map +6 -0
- package/dist/esm/protocol/DeviceAdvertiser.d.ts +43 -0
- package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -0
- package/dist/esm/protocol/DeviceAdvertiser.js +173 -0
- package/dist/esm/protocol/DeviceAdvertiser.js.map +6 -0
- package/dist/esm/protocol/DeviceCommissioner.d.ts +49 -0
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -0
- package/dist/esm/protocol/DeviceCommissioner.js +187 -0
- package/dist/esm/protocol/DeviceCommissioner.js.map +6 -0
- package/dist/esm/protocol/ExchangeManager.d.ts +73 -0
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -0
- package/dist/esm/protocol/ExchangeManager.js +398 -0
- package/dist/esm/protocol/ExchangeManager.js.map +6 -0
- package/dist/esm/protocol/MessageCounter.d.ts +57 -0
- package/dist/esm/protocol/MessageCounter.d.ts.map +1 -0
- package/dist/esm/protocol/MessageCounter.js +84 -0
- package/dist/esm/protocol/MessageCounter.js.map +6 -0
- package/dist/esm/protocol/MessageExchange.d.ts +84 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -0
- package/dist/esm/protocol/MessageExchange.js +504 -0
- package/dist/esm/protocol/MessageExchange.js.map +6 -0
- package/dist/esm/protocol/MessageReceptionState.d.ts +65 -0
- package/dist/esm/protocol/MessageReceptionState.d.ts.map +1 -0
- package/dist/esm/protocol/MessageReceptionState.js +153 -0
- package/dist/esm/protocol/MessageReceptionState.js.map +6 -0
- package/dist/esm/protocol/ProtocolHandler.d.ts +13 -0
- package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -0
- package/dist/esm/protocol/ProtocolHandler.js +6 -0
- package/dist/esm/protocol/ProtocolHandler.js.map +6 -0
- package/dist/esm/protocol/index.d.ts +14 -0
- package/dist/esm/protocol/index.d.ts.map +1 -0
- package/dist/esm/protocol/index.js +14 -0
- package/dist/esm/protocol/index.js.map +6 -0
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +53 -0
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -0
- package/dist/esm/securechannel/SecureChannelMessenger.js +128 -0
- package/dist/esm/securechannel/SecureChannelMessenger.js.map +6 -0
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts +31 -0
- package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -0
- package/dist/esm/securechannel/SecureChannelProtocol.js +127 -0
- package/dist/esm/securechannel/SecureChannelProtocol.js.map +6 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +23 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js +33 -0
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js.map +6 -0
- package/dist/esm/securechannel/index.d.ts +9 -0
- package/dist/esm/securechannel/index.d.ts.map +1 -0
- package/dist/esm/securechannel/index.js +9 -0
- package/dist/esm/securechannel/index.js.map +6 -0
- package/dist/esm/session/InsecureSession.d.ts +38 -0
- package/dist/esm/session/InsecureSession.d.ts.map +1 -0
- package/dist/esm/session/InsecureSession.js +75 -0
- package/dist/esm/session/InsecureSession.js.map +6 -0
- package/dist/esm/session/SecureSession.d.ts +81 -0
- package/dist/esm/session/SecureSession.d.ts.map +1 -0
- package/dist/esm/session/SecureSession.js +281 -0
- package/dist/esm/session/SecureSession.js.map +6 -0
- package/dist/esm/session/Session.d.ts +102 -0
- package/dist/esm/session/Session.d.ts.map +1 -0
- package/dist/esm/session/Session.js +121 -0
- package/dist/esm/session/Session.js.map +6 -0
- package/dist/esm/session/SessionManager.d.ts +132 -0
- package/dist/esm/session/SessionManager.d.ts.map +1 -0
- package/dist/esm/session/SessionManager.js +411 -0
- package/dist/esm/session/SessionManager.js.map +6 -0
- package/dist/esm/session/case/CaseClient.d.ts +18 -0
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -0
- package/dist/esm/session/case/CaseClient.js +208 -0
- package/dist/esm/session/case/CaseClient.js.map +6 -0
- package/dist/esm/session/case/CaseMessages.d.ts +82 -0
- package/dist/esm/session/case/CaseMessages.d.ts.map +1 -0
- package/dist/esm/session/case/CaseMessages.js +83 -0
- package/dist/esm/session/case/CaseMessages.js.map +6 -0
- package/dist/esm/session/case/CaseMessenger.d.ts +79 -0
- package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -0
- package/dist/esm/session/case/CaseMessenger.js +54 -0
- package/dist/esm/session/case/CaseMessenger.js.map +6 -0
- package/dist/esm/session/case/CaseServer.d.ts +18 -0
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -0
- package/dist/esm/session/case/CaseServer.js +224 -0
- package/dist/esm/session/case/CaseServer.js.map +6 -0
- package/dist/esm/session/index.d.ts +18 -0
- package/dist/esm/session/index.d.ts.map +1 -0
- package/dist/esm/session/index.js +18 -0
- package/dist/esm/session/index.js.map +6 -0
- package/dist/esm/session/pase/PaseClient.d.ts +18 -0
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseClient.js +81 -0
- package/dist/esm/session/pase/PaseClient.js.map +6 -0
- package/dist/esm/session/pase/PaseMessages.d.ts +85 -0
- package/dist/esm/session/pase/PaseMessages.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseMessages.js +68 -0
- package/dist/esm/session/pase/PaseMessages.js.map +6 -0
- package/dist/esm/session/pase/PaseMessenger.d.ts +75 -0
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseMessenger.js +75 -0
- package/dist/esm/session/pase/PaseMessenger.js.map +6 -0
- package/dist/esm/session/pase/PaseServer.d.ts +29 -0
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -0
- package/dist/esm/session/pase/PaseServer.js +148 -0
- package/dist/esm/session/pase/PaseServer.js.map +6 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/package.json +83 -0
- package/src/MatterDevice.ts +319 -0
- package/src/ble/Ble.ts +40 -0
- package/src/ble/BleConsts.ts +41 -0
- package/src/ble/BtpSessionHandler.ts +490 -0
- package/src/ble/index.ts +9 -0
- package/src/certificate/AttestationCertificateManager.ts +166 -0
- package/src/certificate/CertificateManager.ts +1136 -0
- package/src/certificate/CertificationDeclarationManager.ts +52 -0
- package/src/certificate/ChipPAAuthorities.ts +35 -0
- package/src/certificate/DeviceCertification.ts +116 -0
- package/src/certificate/RootCertificateManager.ts +179 -0
- package/src/certificate/index.ts +12 -0
- package/src/cluster/client/AttributeClient.ts +196 -0
- package/src/cluster/client/ClusterClient.ts +354 -0
- package/src/cluster/client/ClusterClientTypes.ts +257 -0
- package/src/cluster/client/EventClient.ts +110 -0
- package/src/cluster/client/index.ts +10 -0
- package/src/cluster/index.ts +8 -0
- package/src/cluster/server/AttributeServer.ts +986 -0
- package/src/cluster/server/ClusterDatasource.ts +17 -0
- package/src/cluster/server/ClusterServer.ts +46 -0
- package/src/cluster/server/CommandServer.ts +89 -0
- package/src/cluster/server/EventServer.ts +198 -0
- package/src/cluster/server/index.ts +11 -0
- package/src/codec/BtpCodec.ts +333 -0
- package/src/codec/MessageCodec.ts +276 -0
- package/src/codec/index.ts +9 -0
- package/src/common/FailsafeContext.ts +330 -0
- package/src/common/FailsafeTimer.ts +91 -0
- package/src/common/InstanceBroadcaster.ts +220 -0
- package/src/common/OperationalCredentialsTypes.ts +24 -0
- package/src/common/Scanner.ts +188 -0
- package/src/common/index.ts +12 -0
- package/src/endpoint/EndpointInterface.ts +41 -0
- package/src/endpoint/EndpointStructureLogger.ts +277 -0
- package/src/endpoint/index.ts +8 -0
- package/src/fabric/Fabric.ts +528 -0
- package/src/fabric/FabricManager.ts +231 -0
- package/src/fabric/index.ts +8 -0
- package/src/index.ts +20 -0
- package/src/interaction/AccessControlManager.ts +343 -0
- package/src/interaction/AttributeDataDecoder.ts +266 -0
- package/src/interaction/AttributeDataEncoder.ts +268 -0
- package/src/interaction/EventDataDecoder.ts +133 -0
- package/src/interaction/EventHandler.ts +141 -0
- package/src/interaction/InteractionClient.ts +1215 -0
- package/src/interaction/InteractionEndpointStructure.ts +462 -0
- package/src/interaction/InteractionMessenger.ts +592 -0
- package/src/interaction/InteractionServer.ts +1428 -0
- package/src/interaction/ServerSubscription.ts +908 -0
- package/src/interaction/Subscription.ts +89 -0
- package/src/interaction/SubscriptionOptions.ts +49 -0
- package/src/interaction/index.ts +17 -0
- package/src/mdns/MdnsBroadcaster.ts +415 -0
- package/src/mdns/MdnsConsts.ts +24 -0
- package/src/mdns/MdnsInstanceBroadcaster.ts +88 -0
- package/src/mdns/MdnsScanner.ts +1042 -0
- package/src/mdns/MdnsServer.ts +322 -0
- package/src/mdns/MdnsService.ts +102 -0
- package/src/mdns/index.ts +12 -0
- package/src/peer/ControllerCommissioner.ts +372 -0
- package/src/peer/ControllerCommissioningFlow.ts +1127 -0
- package/src/peer/ControllerDiscovery.ts +231 -0
- package/src/peer/OperationalPeer.ts +32 -0
- package/src/peer/PeerAddress.ts +78 -0
- package/src/peer/PeerSet.ts +684 -0
- package/src/peer/PeerStore.ts +19 -0
- package/src/peer/index.ts +13 -0
- package/src/protocol/ChannelManager.ts +168 -0
- package/src/protocol/DeviceAdvertiser.ts +208 -0
- package/src/protocol/DeviceCommissioner.ts +280 -0
- package/src/protocol/ExchangeManager.ts +493 -0
- package/src/protocol/MessageCounter.ts +128 -0
- package/src/protocol/MessageExchange.ts +662 -0
- package/src/protocol/MessageReceptionState.ts +207 -0
- package/src/protocol/ProtocolHandler.ts +14 -0
- package/src/protocol/index.ts +14 -0
- package/src/securechannel/SecureChannelMessenger.ts +166 -0
- package/src/securechannel/SecureChannelProtocol.ts +150 -0
- package/src/securechannel/SecureChannelStatusMessageSchema.ts +40 -0
- package/src/securechannel/index.ts +10 -0
- package/src/session/InsecureSession.ts +96 -0
- package/src/session/SecureSession.ts +349 -0
- package/src/session/Session.ts +188 -0
- package/src/session/SessionManager.ts +559 -0
- package/src/session/case/CaseClient.ts +235 -0
- package/src/session/case/CaseMessages.ts +81 -0
- package/src/session/case/CaseMessenger.ts +57 -0
- package/src/session/case/CaseServer.ts +269 -0
- package/src/session/index.ts +21 -0
- package/src/session/pase/PaseClient.ts +100 -0
- package/src/session/pase/PaseMessages.ts +72 -0
- package/src/session/pase/PaseMessenger.ts +86 -0
- package/src/session/pase/PaseServer.ts +187 -0
- package/src/tsconfig.json +20 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/** @see {@link MatterSpecification.v11.Core} § 4.17.3.2 */
|
|
7
|
+
export declare const BLE_MATTER_SERVICE_UUID = "fff6";
|
|
8
|
+
export declare const BLE_MATTER_C1_CHARACTERISTIC_UUID = "18EE2EF5-263D-4559-959F-4F9C429F9D11";
|
|
9
|
+
export declare const BLE_MATTER_C2_CHARACTERISTIC_UUID = "18EE2EF5-263D-4559-959F-4F9C429F9D12";
|
|
10
|
+
export declare const BLE_MATTER_C3_CHARACTERISTIC_UUID = "64630238-8772-45F2-B87D-748A83218F04";
|
|
11
|
+
export declare const BLE_MINIMUM_ATT_MTU = 20;
|
|
12
|
+
export declare const BLE_MAXIMUM_BTP_MTU = 244;
|
|
13
|
+
export declare const BTP_MAXIMUM_WINDOW_SIZE = 255;
|
|
14
|
+
/**
|
|
15
|
+
* The maximum amount of time after sending a BTP Session Handshake request to wait for a BTP Session Handshake response
|
|
16
|
+
* before closing the connection.
|
|
17
|
+
*/
|
|
18
|
+
export declare const BTP_CONN_RSP_TIMEOUT_MS = 5000;
|
|
19
|
+
/** The maximum amount of time after receipt of a segment before a stand-alone ACK must be sent. */
|
|
20
|
+
export declare const BTP_ACK_TIMEOUT_MS = 15000;
|
|
21
|
+
export declare const BTP_SEND_ACK_TIMEOUT_MS: number;
|
|
22
|
+
/**
|
|
23
|
+
* The maximum amount of time no unique data has been sent over a BTP session before the Central Device must close the
|
|
24
|
+
* BTP session.
|
|
25
|
+
*/
|
|
26
|
+
export declare const BTP_CONN_IDLE_TIMEOUT = 30000;
|
|
27
|
+
/**
|
|
28
|
+
* The maximum message size that can be transported in a Matter message via BTP.
|
|
29
|
+
* Seems the chip code in BTPEngine limits the size currently to "one pbuf" which should mean one UDP message.
|
|
30
|
+
*/
|
|
31
|
+
export declare const BLE_MAX_MATTER_PAYLOAD_SIZE: number;
|
|
32
|
+
//# sourceMappingURL=BleConsts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BleConsts.d.ts","sourceRoot":"","sources":["../../../src/ble/BleConsts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAC9C,eAAO,MAAM,iCAAiC,yCAAyC,CAAC;AACxF,eAAO,MAAM,iCAAiC,yCAAyC,CAAC;AACxF,eAAO,MAAM,iCAAiC,yCAAyC,CAAC;AAExF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AAEvC,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAE7C,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAEzC,eAAO,MAAM,uBAAuB,QAAyB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,QAAuB,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var BleConsts_exports = {};
|
|
20
|
+
__export(BleConsts_exports, {
|
|
21
|
+
BLE_MATTER_C1_CHARACTERISTIC_UUID: () => BLE_MATTER_C1_CHARACTERISTIC_UUID,
|
|
22
|
+
BLE_MATTER_C2_CHARACTERISTIC_UUID: () => BLE_MATTER_C2_CHARACTERISTIC_UUID,
|
|
23
|
+
BLE_MATTER_C3_CHARACTERISTIC_UUID: () => BLE_MATTER_C3_CHARACTERISTIC_UUID,
|
|
24
|
+
BLE_MATTER_SERVICE_UUID: () => BLE_MATTER_SERVICE_UUID,
|
|
25
|
+
BLE_MAXIMUM_BTP_MTU: () => BLE_MAXIMUM_BTP_MTU,
|
|
26
|
+
BLE_MAX_MATTER_PAYLOAD_SIZE: () => BLE_MAX_MATTER_PAYLOAD_SIZE,
|
|
27
|
+
BLE_MINIMUM_ATT_MTU: () => BLE_MINIMUM_ATT_MTU,
|
|
28
|
+
BTP_ACK_TIMEOUT_MS: () => BTP_ACK_TIMEOUT_MS,
|
|
29
|
+
BTP_CONN_IDLE_TIMEOUT: () => BTP_CONN_IDLE_TIMEOUT,
|
|
30
|
+
BTP_CONN_RSP_TIMEOUT_MS: () => BTP_CONN_RSP_TIMEOUT_MS,
|
|
31
|
+
BTP_MAXIMUM_WINDOW_SIZE: () => BTP_MAXIMUM_WINDOW_SIZE,
|
|
32
|
+
BTP_SEND_ACK_TIMEOUT_MS: () => BTP_SEND_ACK_TIMEOUT_MS
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(BleConsts_exports);
|
|
35
|
+
var import_general = require("#general");
|
|
36
|
+
/**
|
|
37
|
+
* @license
|
|
38
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
39
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
40
|
+
*/
|
|
41
|
+
const BLE_MATTER_SERVICE_UUID = "fff6";
|
|
42
|
+
const BLE_MATTER_C1_CHARACTERISTIC_UUID = "18EE2EF5-263D-4559-959F-4F9C429F9D11";
|
|
43
|
+
const BLE_MATTER_C2_CHARACTERISTIC_UUID = "18EE2EF5-263D-4559-959F-4F9C429F9D12";
|
|
44
|
+
const BLE_MATTER_C3_CHARACTERISTIC_UUID = "64630238-8772-45F2-B87D-748A83218F04";
|
|
45
|
+
const BLE_MINIMUM_ATT_MTU = 20;
|
|
46
|
+
const BLE_MAXIMUM_BTP_MTU = 244;
|
|
47
|
+
const BTP_MAXIMUM_WINDOW_SIZE = 255;
|
|
48
|
+
const BTP_CONN_RSP_TIMEOUT_MS = 5e3;
|
|
49
|
+
const BTP_ACK_TIMEOUT_MS = 15e3;
|
|
50
|
+
const BTP_SEND_ACK_TIMEOUT_MS = BTP_ACK_TIMEOUT_MS / 3;
|
|
51
|
+
const BTP_CONN_IDLE_TIMEOUT = 3e4;
|
|
52
|
+
const BLE_MAX_MATTER_PAYLOAD_SIZE = import_general.MAX_UDP_MESSAGE_SIZE;
|
|
53
|
+
//# sourceMappingURL=BleConsts.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ble/BleConsts.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqC;AANrC;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,0BAA0B;AAChC,MAAM,oCAAoC;AAC1C,MAAM,oCAAoC;AAC1C,MAAM,oCAAoC;AAE1C,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAE5B,MAAM,0BAA0B;AAMhC,MAAM,0BAA0B;AAGhC,MAAM,qBAAqB;AAE3B,MAAM,0BAA0B,qBAAqB;AAMrD,MAAM,wBAAwB;AAM9B,MAAM,8BAA8B;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { MatterError } from "#general";
|
|
7
|
+
export declare class BtpMatterError extends MatterError {
|
|
8
|
+
}
|
|
9
|
+
export declare class BtpProtocolError extends BtpMatterError {
|
|
10
|
+
}
|
|
11
|
+
export declare class BtpFlowError extends BtpMatterError {
|
|
12
|
+
}
|
|
13
|
+
export declare const BTP_SUPPORTED_VERSIONS: number[];
|
|
14
|
+
export declare class BtpSessionHandler {
|
|
15
|
+
private readonly role;
|
|
16
|
+
private readonly fragmentSize;
|
|
17
|
+
private readonly clientWindowSize;
|
|
18
|
+
private readonly writeBleCallback;
|
|
19
|
+
private readonly disconnectBleCallback;
|
|
20
|
+
private readonly handleMatterMessagePayload;
|
|
21
|
+
private currentIncomingSegmentedMsgLength;
|
|
22
|
+
private currentIncomingSegmentedPayload;
|
|
23
|
+
private prevIncomingSequenceNumber;
|
|
24
|
+
private prevIncomingAckNumber;
|
|
25
|
+
private readonly ackReceiveTimer;
|
|
26
|
+
private sequenceNumber;
|
|
27
|
+
private prevAckedSequenceNumber;
|
|
28
|
+
private readonly queuedOutgoingMatterMessages;
|
|
29
|
+
private sendInProgress;
|
|
30
|
+
private readonly sendAckTimer;
|
|
31
|
+
private isActive;
|
|
32
|
+
private idleTimeout;
|
|
33
|
+
/** Factory method to create a new BTPSessionHandler from a received handshake request */
|
|
34
|
+
static createFromHandshakeRequest(maxDataSize: number | undefined, handshakeRequestPayload: Uint8Array, writeBleCallback: (data: Uint8Array) => Promise<void>, disconnectBleCallback: () => Promise<void>, handleMatterMessagePayload: (data: Uint8Array) => Promise<void>): Promise<BtpSessionHandler>;
|
|
35
|
+
static createAsCentral(handshakeResponsePayload: Uint8Array, writeBleCallback: (data: Uint8Array) => Promise<void>, disconnectBleCallback: () => Promise<void>, handleMatterMessagePayload: (data: Uint8Array) => Promise<void>): Promise<BtpSessionHandler>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates a new BTP session handler
|
|
38
|
+
*
|
|
39
|
+
* @param role The role of the BTP session handler
|
|
40
|
+
* @param btpVersion The BTP protocol version to use
|
|
41
|
+
* @param fragmentSize The fragment size to use for the messages
|
|
42
|
+
* @param clientWindowSize The client window size to use
|
|
43
|
+
* @param writeBleCallback Callback to write data to the BLE transport
|
|
44
|
+
* @param disconnectBleCallback Callback to disconnect the BLE transport
|
|
45
|
+
* @param handleMatterMessagePayload Callback to handle a Matter message payload
|
|
46
|
+
*/
|
|
47
|
+
constructor(role: "central" | "peripheral", btpVersion: number, fragmentSize: number, clientWindowSize: number, writeBleCallback: (data: Uint8Array) => Promise<void>, disconnectBleCallback: () => Promise<void>, handleMatterMessagePayload: (data: Uint8Array) => Promise<void>);
|
|
48
|
+
/**
|
|
49
|
+
* Handle incoming data from the transport layer and hand over completely received matter messages to the
|
|
50
|
+
* ExchangeManager layer
|
|
51
|
+
*
|
|
52
|
+
* @param data ByteArray containing the data
|
|
53
|
+
*/
|
|
54
|
+
handleIncomingBleData(data: Uint8Array): Promise<void>;
|
|
55
|
+
/**
|
|
56
|
+
* Send a Matter message to the transport layer, but before that encode it into a BTP packet and potentially split
|
|
57
|
+
* it into multiple segments. This Method is indirectly called by the ExchangeManager layer when a Matter message
|
|
58
|
+
* should be sent.
|
|
59
|
+
*
|
|
60
|
+
* @param data ByteArray containing the Matter message
|
|
61
|
+
*/
|
|
62
|
+
sendMatterMessage(data: Uint8Array): Promise<void>;
|
|
63
|
+
private processSendQueue;
|
|
64
|
+
/**
|
|
65
|
+
* Close the BTP session. This method is called when the BLE transport is disconnected and so the BTP session gets closed.
|
|
66
|
+
*/
|
|
67
|
+
close(): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* If this timer expires and the peer has a pending acknowledgement, the peer SHALL immediately send that
|
|
70
|
+
* acknowledgement
|
|
71
|
+
*/
|
|
72
|
+
private btpSendAckTimeoutTriggered;
|
|
73
|
+
/**
|
|
74
|
+
* If a peer’s acknowledgement-received timer expires, or if a peer receives an invalid acknowledgement,
|
|
75
|
+
* the peer SHALL close the BTP session and report an error to the application.
|
|
76
|
+
*/
|
|
77
|
+
private btpAckTimeoutTriggered;
|
|
78
|
+
/**
|
|
79
|
+
* Increments sequence number for the packets and round it off to 0 when it reaches the maximum limit.
|
|
80
|
+
*/
|
|
81
|
+
getNextSequenceNumber(): number;
|
|
82
|
+
/**
|
|
83
|
+
* Checks if incoming ackNumber and sent sequence number exceeds the client window size or not.
|
|
84
|
+
*/
|
|
85
|
+
private exceedsWindowSize;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=BtpSessionHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BtpSessionHandler.d.ts","sourceRoot":"","sources":["../../../src/ble/BtpSessionHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAiD,WAAW,EAAQ,MAAM,UAAU,CAAC;AAW5F,qBAAa,cAAe,SAAQ,WAAW;CAAG;AAClD,qBAAa,gBAAiB,SAAQ,cAAc;CAAG;AACvD,qBAAa,YAAa,SAAQ,cAAc;CAAG;AAEnD,eAAO,MAAM,sBAAsB,UAAM,CAAC;AAK1C,qBAAa,iBAAiB;IAgItB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAErB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IArI/C,OAAO,CAAC,iCAAiC,CAAqB;IAC9D,OAAO,CAAC,+BAA+B,CAAyB;IAChE,OAAO,CAAC,0BAA0B,CAAO;IACzC,OAAO,CAAC,qBAAqB,CAAM;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE9B;IAEF,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,uBAAuB,CAAM;IACrC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAA0C;IACvF,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAE3B;IACF,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,WAAW,CAGhB;IAEH,yFAAyF;WAC5E,0BAA0B,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,uBAAuB,EAAE,UAAU,EACnC,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,qBAAqB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1C,0BAA0B,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAChE,OAAO,CAAC,iBAAiB,CAAC;WA+DhB,eAAe,CACxB,wBAAwB,EAAE,UAAU,EACpC,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,qBAAqB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1C,0BAA0B,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC;IAoBnE;;;;;;;;;;OAUG;gBAEkB,IAAI,EAAE,SAAS,GAAG,YAAY,EAC/C,UAAU,EAAE,MAAM,EACD,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,EACrD,qBAAqB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1C,0BAA0B,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC;IAepF;;;;;OAKG;IACU,qBAAqB,CAAC,IAAI,EAAE,UAAU;IAwHnD;;;;;;OAMG;IACU,iBAAiB,CAAC,IAAI,EAAE,UAAU;YAcjC,gBAAgB;IA4F9B;;OAEG;IACU,KAAK;IAWlB;;;OAGG;YACW,0BAA0B;IA0BxC;;;OAGG;YACW,sBAAsB;IAOpC;;OAEG;IACH,qBAAqB;IAQrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAM5B"}
|
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var BtpSessionHandler_exports = {};
|
|
20
|
+
__export(BtpSessionHandler_exports, {
|
|
21
|
+
BTP_SUPPORTED_VERSIONS: () => BTP_SUPPORTED_VERSIONS,
|
|
22
|
+
BtpFlowError: () => BtpFlowError,
|
|
23
|
+
BtpMatterError: () => BtpMatterError,
|
|
24
|
+
BtpProtocolError: () => BtpProtocolError,
|
|
25
|
+
BtpSessionHandler: () => BtpSessionHandler
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(BtpSessionHandler_exports);
|
|
28
|
+
var import_general = require("#general");
|
|
29
|
+
var import_BtpCodec = require("../codec/BtpCodec.js");
|
|
30
|
+
var import_BleConsts = require("./BleConsts.js");
|
|
31
|
+
/**
|
|
32
|
+
* @license
|
|
33
|
+
* Copyright 2022-2024 Matter.js Authors
|
|
34
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
+
*/
|
|
36
|
+
class BtpMatterError extends import_general.MatterError {
|
|
37
|
+
}
|
|
38
|
+
class BtpProtocolError extends BtpMatterError {
|
|
39
|
+
}
|
|
40
|
+
class BtpFlowError extends BtpMatterError {
|
|
41
|
+
}
|
|
42
|
+
const BTP_SUPPORTED_VERSIONS = [4];
|
|
43
|
+
const MAXIMUM_SEQUENCE_NUMBER = 255;
|
|
44
|
+
const logger = import_general.Logger.get("BtpSessionHandler");
|
|
45
|
+
class BtpSessionHandler {
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new BTP session handler
|
|
48
|
+
*
|
|
49
|
+
* @param role The role of the BTP session handler
|
|
50
|
+
* @param btpVersion The BTP protocol version to use
|
|
51
|
+
* @param fragmentSize The fragment size to use for the messages
|
|
52
|
+
* @param clientWindowSize The client window size to use
|
|
53
|
+
* @param writeBleCallback Callback to write data to the BLE transport
|
|
54
|
+
* @param disconnectBleCallback Callback to disconnect the BLE transport
|
|
55
|
+
* @param handleMatterMessagePayload Callback to handle a Matter message payload
|
|
56
|
+
*/
|
|
57
|
+
constructor(role, btpVersion, fragmentSize, clientWindowSize, writeBleCallback, disconnectBleCallback, handleMatterMessagePayload) {
|
|
58
|
+
this.role = role;
|
|
59
|
+
this.fragmentSize = fragmentSize;
|
|
60
|
+
this.clientWindowSize = clientWindowSize;
|
|
61
|
+
this.writeBleCallback = writeBleCallback;
|
|
62
|
+
this.disconnectBleCallback = disconnectBleCallback;
|
|
63
|
+
this.handleMatterMessagePayload = handleMatterMessagePayload;
|
|
64
|
+
if (btpVersion !== 4) {
|
|
65
|
+
throw new BtpProtocolError(`Unsupported BTP version ${btpVersion}`);
|
|
66
|
+
}
|
|
67
|
+
if (role === "peripheral") {
|
|
68
|
+
this.ackReceiveTimer.start();
|
|
69
|
+
} else {
|
|
70
|
+
this.sendAckTimer.start();
|
|
71
|
+
this.prevIncomingSequenceNumber = 0;
|
|
72
|
+
this.prevIncomingAckNumber = -1;
|
|
73
|
+
this.sequenceNumber = -1;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
currentIncomingSegmentedMsgLength;
|
|
77
|
+
currentIncomingSegmentedPayload;
|
|
78
|
+
prevIncomingSequenceNumber = 255;
|
|
79
|
+
// Incoming Sequence Number received. Set to 255 to start at 0
|
|
80
|
+
prevIncomingAckNumber = -1;
|
|
81
|
+
// Previous ackNumber received
|
|
82
|
+
ackReceiveTimer = import_general.Time.getTimer(
|
|
83
|
+
"BTP ack timeout",
|
|
84
|
+
import_BleConsts.BTP_ACK_TIMEOUT_MS,
|
|
85
|
+
() => this.btpAckTimeoutTriggered()
|
|
86
|
+
);
|
|
87
|
+
sequenceNumber = 0;
|
|
88
|
+
// Sequence number is set to 0 already for the handshake, next sequence number is 1
|
|
89
|
+
prevAckedSequenceNumber = -1;
|
|
90
|
+
// Previous (outgoing) Acked Sequence Number
|
|
91
|
+
queuedOutgoingMatterMessages = new Array();
|
|
92
|
+
sendInProgress = false;
|
|
93
|
+
sendAckTimer = import_general.Time.getTimer(
|
|
94
|
+
"BTP send timeout",
|
|
95
|
+
import_BleConsts.BTP_SEND_ACK_TIMEOUT_MS,
|
|
96
|
+
() => this.btpSendAckTimeoutTriggered()
|
|
97
|
+
);
|
|
98
|
+
isActive = true;
|
|
99
|
+
idleTimeout = import_general.Time.getTimer("Central Device Idle Timer", import_BleConsts.BTP_CONN_IDLE_TIMEOUT, async () => {
|
|
100
|
+
logger.info("Central Device Connection Idle Timer expired, closing BTP session");
|
|
101
|
+
await this.close();
|
|
102
|
+
});
|
|
103
|
+
/** Factory method to create a new BTPSessionHandler from a received handshake request */
|
|
104
|
+
static async createFromHandshakeRequest(maxDataSize, handshakeRequestPayload, writeBleCallback, disconnectBleCallback, handleMatterMessagePayload) {
|
|
105
|
+
const handshakeRequest = import_BtpCodec.BtpCodec.decodeBtpHandshakeRequest(handshakeRequestPayload);
|
|
106
|
+
const {
|
|
107
|
+
versions,
|
|
108
|
+
attMtu: handshakeMtu,
|
|
109
|
+
// Number excluding 3 header bytes
|
|
110
|
+
clientWindowSize
|
|
111
|
+
} = handshakeRequest;
|
|
112
|
+
logger.debug(`Received BTP handshake request:`, import_general.Diagnostic.dict({ maxDataSize, ...handshakeRequest }));
|
|
113
|
+
const version = BTP_SUPPORTED_VERSIONS.find((version2) => versions.includes(version2));
|
|
114
|
+
if (version === void 0) {
|
|
115
|
+
await disconnectBleCallback();
|
|
116
|
+
throw new BtpProtocolError(`No supported BTP version found in ${versions}`);
|
|
117
|
+
}
|
|
118
|
+
let attMtu = import_BleConsts.BLE_MINIMUM_ATT_MTU;
|
|
119
|
+
if (maxDataSize !== void 0) {
|
|
120
|
+
if (maxDataSize > import_BleConsts.BLE_MINIMUM_ATT_MTU) {
|
|
121
|
+
if (handshakeMtu <= import_BleConsts.BLE_MINIMUM_ATT_MTU) {
|
|
122
|
+
attMtu = Math.min(maxDataSize, import_BleConsts.BLE_MAXIMUM_BTP_MTU);
|
|
123
|
+
} else {
|
|
124
|
+
attMtu = Math.min(handshakeMtu, maxDataSize, import_BleConsts.BLE_MAXIMUM_BTP_MTU);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
const fragmentSize = attMtu;
|
|
129
|
+
const windowSize = Math.min(import_BleConsts.BTP_MAXIMUM_WINDOW_SIZE, clientWindowSize);
|
|
130
|
+
const handshakeResponse = import_BtpCodec.BtpCodec.encodeBtpHandshakeResponse({
|
|
131
|
+
version,
|
|
132
|
+
attMtu,
|
|
133
|
+
windowSize
|
|
134
|
+
});
|
|
135
|
+
logger.debug(
|
|
136
|
+
`Sending BTP handshake response:`,
|
|
137
|
+
import_general.Diagnostic.dict({
|
|
138
|
+
version,
|
|
139
|
+
attMtu,
|
|
140
|
+
windowSize
|
|
141
|
+
})
|
|
142
|
+
);
|
|
143
|
+
const btpSession = new BtpSessionHandler(
|
|
144
|
+
"peripheral",
|
|
145
|
+
version,
|
|
146
|
+
fragmentSize,
|
|
147
|
+
windowSize,
|
|
148
|
+
writeBleCallback,
|
|
149
|
+
disconnectBleCallback,
|
|
150
|
+
handleMatterMessagePayload
|
|
151
|
+
);
|
|
152
|
+
await writeBleCallback(handshakeResponse);
|
|
153
|
+
return btpSession;
|
|
154
|
+
}
|
|
155
|
+
static async createAsCentral(handshakeResponsePayload, writeBleCallback, disconnectBleCallback, handleMatterMessagePayload) {
|
|
156
|
+
const handshakeRequest = import_BtpCodec.BtpCodec.decodeBtpHandshakeResponsePayload(handshakeResponsePayload);
|
|
157
|
+
logger.debug("Handshake request", import_general.Diagnostic.dict(handshakeRequest));
|
|
158
|
+
const { version, attMtu: handshakeMtu, windowSize } = handshakeRequest;
|
|
159
|
+
const fragmentSize = Math.min(handshakeMtu, import_BleConsts.BLE_MAXIMUM_BTP_MTU);
|
|
160
|
+
return new BtpSessionHandler(
|
|
161
|
+
"central",
|
|
162
|
+
version,
|
|
163
|
+
fragmentSize,
|
|
164
|
+
windowSize,
|
|
165
|
+
writeBleCallback,
|
|
166
|
+
disconnectBleCallback,
|
|
167
|
+
handleMatterMessagePayload
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Handle incoming data from the transport layer and hand over completely received matter messages to the
|
|
172
|
+
* ExchangeManager layer
|
|
173
|
+
*
|
|
174
|
+
* @param data ByteArray containing the data
|
|
175
|
+
*/
|
|
176
|
+
async handleIncomingBleData(data) {
|
|
177
|
+
if (!this.isActive) {
|
|
178
|
+
logger.debug(`BTP session is not active, ignoring incoming BLE data`);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
try {
|
|
182
|
+
if (data.length > this.fragmentSize) {
|
|
183
|
+
if (data.length > this.fragmentSize + 3) {
|
|
184
|
+
throw new BtpProtocolError(
|
|
185
|
+
`Received data ${data.length} bytes exceeds fragment size of ${this.fragmentSize} bytes`
|
|
186
|
+
);
|
|
187
|
+
} else {
|
|
188
|
+
logger.warn(
|
|
189
|
+
`Received data ${data.length} bytes exceeds fragment size of ${this.fragmentSize} bytes, still accepting`
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const btpPacket = import_BtpCodec.BtpCodec.decodeBtpPacket(data);
|
|
194
|
+
logger.debug(`Received BTP packet: ${import_general.Logger.toJSON(btpPacket)}`);
|
|
195
|
+
const {
|
|
196
|
+
header: {
|
|
197
|
+
hasAckNumber,
|
|
198
|
+
isHandshakeRequest,
|
|
199
|
+
hasManagementOpcode,
|
|
200
|
+
isEndingSegment,
|
|
201
|
+
isBeginningSegment,
|
|
202
|
+
isContinuingSegment
|
|
203
|
+
},
|
|
204
|
+
payload: { ackNumber, sequenceNumber, messageLength, segmentPayload }
|
|
205
|
+
} = btpPacket;
|
|
206
|
+
if (isHandshakeRequest || hasManagementOpcode) {
|
|
207
|
+
throw new BtpProtocolError("BTP packet must not be a handshake request or have a management opcode.");
|
|
208
|
+
}
|
|
209
|
+
if (segmentPayload.length === 0 && !hasAckNumber) {
|
|
210
|
+
throw new BtpProtocolError("BTP packet must have a segment payload or an ack number.");
|
|
211
|
+
}
|
|
212
|
+
if (sequenceNumber !== (this.prevIncomingSequenceNumber + 1) % 256) {
|
|
213
|
+
logger.debug(
|
|
214
|
+
`sequenceNumber : ${sequenceNumber}, prevClientSequenceNumber : ${this.prevIncomingSequenceNumber}`
|
|
215
|
+
);
|
|
216
|
+
throw new BtpProtocolError("Expected and actual BTP packets sequence number does not match");
|
|
217
|
+
}
|
|
218
|
+
this.prevIncomingSequenceNumber = sequenceNumber;
|
|
219
|
+
if (!this.sendAckTimer.isRunning) {
|
|
220
|
+
this.sendAckTimer.start();
|
|
221
|
+
}
|
|
222
|
+
if (hasAckNumber && ackNumber !== void 0) {
|
|
223
|
+
if (ackNumber > this.sequenceNumber || this.exceedsWindowSize(this.prevIncomingAckNumber, ackNumber)) {
|
|
224
|
+
throw new BtpProtocolError(
|
|
225
|
+
`Invalid Ack Number, Ack Number: ${ackNumber}, Sequence Number: ${this.sequenceNumber}, Previous AckNumber: ${this.prevIncomingAckNumber}`
|
|
226
|
+
);
|
|
227
|
+
}
|
|
228
|
+
this.ackReceiveTimer.stop();
|
|
229
|
+
this.prevIncomingAckNumber = ackNumber;
|
|
230
|
+
if (ackNumber !== this.sequenceNumber) {
|
|
231
|
+
this.ackReceiveTimer.start();
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (isBeginningSegment) {
|
|
235
|
+
if (this.currentIncomingSegmentedPayload !== void 0) {
|
|
236
|
+
throw new BtpProtocolError(
|
|
237
|
+
`BTP message flow error! New beginning packet was received without previous message being completed.`
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
this.currentIncomingSegmentedMsgLength = messageLength;
|
|
241
|
+
this.currentIncomingSegmentedPayload = segmentPayload;
|
|
242
|
+
} else if (isContinuingSegment || isEndingSegment) {
|
|
243
|
+
if (this.currentIncomingSegmentedPayload === void 0) {
|
|
244
|
+
throw new BtpProtocolError(`BTP Continuing or ending packet received without beginning packet.`);
|
|
245
|
+
}
|
|
246
|
+
if (segmentPayload.length === 0) {
|
|
247
|
+
throw new BtpProtocolError(`BTP Continuing or ending packet received without payload.`);
|
|
248
|
+
}
|
|
249
|
+
this.currentIncomingSegmentedPayload = import_general.Bytes.concat(
|
|
250
|
+
this.currentIncomingSegmentedPayload,
|
|
251
|
+
segmentPayload
|
|
252
|
+
);
|
|
253
|
+
}
|
|
254
|
+
if (isEndingSegment) {
|
|
255
|
+
if (this.currentIncomingSegmentedMsgLength === void 0 || this.currentIncomingSegmentedPayload === void 0) {
|
|
256
|
+
throw new BtpProtocolError("BTP beginning packet missing but ending packet received.");
|
|
257
|
+
}
|
|
258
|
+
if (this.currentIncomingSegmentedPayload.length !== this.currentIncomingSegmentedMsgLength) {
|
|
259
|
+
throw new BtpProtocolError(
|
|
260
|
+
`BTP packet payload length does not match message length: ${this.currentIncomingSegmentedPayload.length} !== ${this.currentIncomingSegmentedMsgLength}`
|
|
261
|
+
);
|
|
262
|
+
}
|
|
263
|
+
const payloadToProcess = this.currentIncomingSegmentedPayload;
|
|
264
|
+
this.currentIncomingSegmentedMsgLength = void 0;
|
|
265
|
+
this.currentIncomingSegmentedPayload = void 0;
|
|
266
|
+
await this.handleMatterMessagePayload(payloadToProcess);
|
|
267
|
+
}
|
|
268
|
+
} catch (error) {
|
|
269
|
+
logger.error(`Error while handling incoming BTP data: ${error}`);
|
|
270
|
+
await this.close();
|
|
271
|
+
BtpProtocolError.accept(error);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Send a Matter message to the transport layer, but before that encode it into a BTP packet and potentially split
|
|
276
|
+
* it into multiple segments. This Method is indirectly called by the ExchangeManager layer when a Matter message
|
|
277
|
+
* should be sent.
|
|
278
|
+
*
|
|
279
|
+
* @param data ByteArray containing the Matter message
|
|
280
|
+
*/
|
|
281
|
+
async sendMatterMessage(data) {
|
|
282
|
+
if (!this.isActive) {
|
|
283
|
+
throw new BtpFlowError("BTP session is not active");
|
|
284
|
+
}
|
|
285
|
+
logger.debug(`Got Matter message to send via BLE transport: ${import_general.Bytes.toHex(data)}`);
|
|
286
|
+
if (data.length === 0) {
|
|
287
|
+
throw new BtpFlowError("BTP packet must not be empty");
|
|
288
|
+
}
|
|
289
|
+
const dataReader = new import_general.DataReader(data, import_general.Endian.Little);
|
|
290
|
+
this.queuedOutgoingMatterMessages.push(dataReader);
|
|
291
|
+
await this.processSendQueue();
|
|
292
|
+
}
|
|
293
|
+
async processSendQueue() {
|
|
294
|
+
if (this.sendInProgress) return;
|
|
295
|
+
if (this.exceedsWindowSize(this.prevIncomingAckNumber, this.sequenceNumber)) return;
|
|
296
|
+
if (this.queuedOutgoingMatterMessages.length === 0) return;
|
|
297
|
+
this.sendInProgress = true;
|
|
298
|
+
while (this.queuedOutgoingMatterMessages.length > 0) {
|
|
299
|
+
const currentProcessedMessage = this.queuedOutgoingMatterMessages[0];
|
|
300
|
+
const remainingMessageLength = currentProcessedMessage.getRemainingBytesCount();
|
|
301
|
+
logger.debug(
|
|
302
|
+
"Sending BTP fragment: ",
|
|
303
|
+
import_general.Diagnostic.dict({
|
|
304
|
+
fullMessageLength: currentProcessedMessage.getLength(),
|
|
305
|
+
remainingLengthInBytes: remainingMessageLength
|
|
306
|
+
})
|
|
307
|
+
);
|
|
308
|
+
const hasAckNumber = this.prevIncomingSequenceNumber !== this.prevAckedSequenceNumber;
|
|
309
|
+
if (hasAckNumber) {
|
|
310
|
+
this.prevAckedSequenceNumber = this.prevIncomingSequenceNumber;
|
|
311
|
+
this.sendAckTimer.stop();
|
|
312
|
+
}
|
|
313
|
+
const isBeginningSegment = remainingMessageLength === currentProcessedMessage.getLength();
|
|
314
|
+
const btpHeaderLength = 2 + (isBeginningSegment ? 2 : 0) + (hasAckNumber ? 1 : 0);
|
|
315
|
+
const isEndingSegment = remainingMessageLength <= this.fragmentSize - btpHeaderLength;
|
|
316
|
+
const packetHeader = {
|
|
317
|
+
isHandshakeRequest: false,
|
|
318
|
+
hasManagementOpcode: false,
|
|
319
|
+
hasAckNumber,
|
|
320
|
+
isBeginningSegment,
|
|
321
|
+
isContinuingSegment: !isBeginningSegment,
|
|
322
|
+
isEndingSegment
|
|
323
|
+
};
|
|
324
|
+
logger.debug(
|
|
325
|
+
`Take up to ${this.fragmentSize - btpHeaderLength} bytes from Rest of message: ${remainingMessageLength}`
|
|
326
|
+
);
|
|
327
|
+
const segmentPayload = currentProcessedMessage.readByteArray(this.fragmentSize - btpHeaderLength);
|
|
328
|
+
const btpPacket = {
|
|
329
|
+
header: packetHeader,
|
|
330
|
+
payload: {
|
|
331
|
+
ackNumber: hasAckNumber ? this.prevIncomingSequenceNumber : void 0,
|
|
332
|
+
sequenceNumber: this.getNextSequenceNumber(),
|
|
333
|
+
messageLength: packetHeader.isBeginningSegment ? remainingMessageLength : void 0,
|
|
334
|
+
// remainingMessageLength if the fill length on beginning packet
|
|
335
|
+
segmentPayload
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
logger.debug(`Sending BTP packet: ${import_general.Logger.toJSON(btpPacket)}`);
|
|
339
|
+
const packet = import_BtpCodec.BtpCodec.encodeBtpPacket(btpPacket);
|
|
340
|
+
logger.debug(`Sending BTP packet raw: ${import_general.Bytes.toHex(packet)}`);
|
|
341
|
+
await this.writeBleCallback(packet);
|
|
342
|
+
if (!this.ackReceiveTimer.isRunning) {
|
|
343
|
+
this.ackReceiveTimer.start();
|
|
344
|
+
}
|
|
345
|
+
if (this.role === "central") {
|
|
346
|
+
if (this.idleTimeout.isRunning) {
|
|
347
|
+
this.idleTimeout.stop();
|
|
348
|
+
}
|
|
349
|
+
this.idleTimeout.start();
|
|
350
|
+
}
|
|
351
|
+
if (isEndingSegment) {
|
|
352
|
+
this.queuedOutgoingMatterMessages.shift();
|
|
353
|
+
}
|
|
354
|
+
if (this.exceedsWindowSize(this.prevIncomingAckNumber, this.sequenceNumber)) {
|
|
355
|
+
break;
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
this.sendInProgress = false;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Close the BTP session. This method is called when the BLE transport is disconnected and so the BTP session gets closed.
|
|
362
|
+
*/
|
|
363
|
+
async close() {
|
|
364
|
+
this.sendAckTimer.stop();
|
|
365
|
+
this.ackReceiveTimer.stop();
|
|
366
|
+
this.idleTimeout.stop();
|
|
367
|
+
if (this.isActive) {
|
|
368
|
+
logger.debug(`Closing BTP session`);
|
|
369
|
+
this.isActive = false;
|
|
370
|
+
await this.disconnectBleCallback();
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* If this timer expires and the peer has a pending acknowledgement, the peer SHALL immediately send that
|
|
375
|
+
* acknowledgement
|
|
376
|
+
*/
|
|
377
|
+
async btpSendAckTimeoutTriggered() {
|
|
378
|
+
if (this.prevIncomingSequenceNumber > this.prevAckedSequenceNumber) {
|
|
379
|
+
logger.debug(`Sending BTP ACK for sequence number ${this.prevIncomingSequenceNumber}`);
|
|
380
|
+
const btpPacket = {
|
|
381
|
+
header: {
|
|
382
|
+
isHandshakeRequest: false,
|
|
383
|
+
hasManagementOpcode: false,
|
|
384
|
+
hasAckNumber: true,
|
|
385
|
+
isBeginningSegment: false,
|
|
386
|
+
isContinuingSegment: false,
|
|
387
|
+
isEndingSegment: false
|
|
388
|
+
},
|
|
389
|
+
payload: {
|
|
390
|
+
ackNumber: this.prevIncomingSequenceNumber,
|
|
391
|
+
sequenceNumber: this.getNextSequenceNumber()
|
|
392
|
+
}
|
|
393
|
+
};
|
|
394
|
+
this.prevAckedSequenceNumber = this.prevIncomingSequenceNumber;
|
|
395
|
+
const packet = import_BtpCodec.BtpCodec.encodeBtpPacket(btpPacket);
|
|
396
|
+
await this.writeBleCallback(packet);
|
|
397
|
+
if (!this.ackReceiveTimer.isRunning) {
|
|
398
|
+
this.ackReceiveTimer.start();
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* If a peer’s acknowledgement-received timer expires, or if a peer receives an invalid acknowledgement,
|
|
404
|
+
* the peer SHALL close the BTP session and report an error to the application.
|
|
405
|
+
*/
|
|
406
|
+
async btpAckTimeoutTriggered() {
|
|
407
|
+
if (this.prevIncomingAckNumber !== this.sequenceNumber) {
|
|
408
|
+
logger.warn("Acknowledgement for the sent sequence number was not received ... disconnect");
|
|
409
|
+
await this.close();
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Increments sequence number for the packets and round it off to 0 when it reaches the maximum limit.
|
|
414
|
+
*/
|
|
415
|
+
getNextSequenceNumber() {
|
|
416
|
+
this.sequenceNumber++;
|
|
417
|
+
if (this.sequenceNumber > MAXIMUM_SEQUENCE_NUMBER) {
|
|
418
|
+
this.sequenceNumber = 0;
|
|
419
|
+
}
|
|
420
|
+
return this.sequenceNumber;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Checks if incoming ackNumber and sent sequence number exceeds the client window size or not.
|
|
424
|
+
*/
|
|
425
|
+
exceedsWindowSize(prevIncomingAckNumber, currentSequenceNumber) {
|
|
426
|
+
if (prevIncomingAckNumber > currentSequenceNumber) {
|
|
427
|
+
prevIncomingAckNumber = prevIncomingAckNumber % MAXIMUM_SEQUENCE_NUMBER - 1;
|
|
428
|
+
}
|
|
429
|
+
return currentSequenceNumber - prevIncomingAckNumber > this.clientWindowSize - 1;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
//# sourceMappingURL=BtpSessionHandler.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/ble/BtpSessionHandler.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["version"]
|
|
6
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ble/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
|