@matter/protocol 0.16.0-alpha.0-20251203-aaf94bca8 → 0.16.0-alpha.0-20251207-37e501b18
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/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/cjs/action/client/ClientInteraction.js +82 -34
- package/dist/cjs/action/client/ClientInteraction.js.map +2 -2
- package/dist/cjs/action/client/subscription/ClientSubscription.d.ts +10 -5
- package/dist/cjs/action/client/subscription/ClientSubscription.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/ClientSubscription.js +21 -1
- package/dist/cjs/action/client/subscription/ClientSubscription.js.map +2 -2
- package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js +2 -3
- package/dist/cjs/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
- package/dist/cjs/action/client/subscription/ClientSubscriptions.d.ts +4 -2
- package/dist/cjs/action/client/subscription/ClientSubscriptions.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/ClientSubscriptions.js +68 -8
- package/dist/cjs/action/client/subscription/ClientSubscriptions.js.map +1 -1
- package/dist/cjs/action/client/subscription/PeerSubscription.d.ts +0 -1
- package/dist/cjs/action/client/subscription/PeerSubscription.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/PeerSubscription.js +1 -2
- package/dist/cjs/action/client/subscription/PeerSubscription.js.map +1 -1
- package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts +0 -2
- package/dist/cjs/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
- package/dist/cjs/action/client/subscription/SustainedSubscription.js +2 -4
- package/dist/cjs/action/client/subscription/SustainedSubscription.js.map +1 -1
- package/dist/cjs/action/request/Invoke.js +2 -2
- package/dist/cjs/action/request/Invoke.js.map +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeReadResponse.js +78 -25
- package/dist/cjs/action/server/AttributeReadResponse.js.map +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/AttributeWriteResponse.js +70 -17
- package/dist/cjs/action/server/AttributeWriteResponse.js.map +1 -1
- package/dist/cjs/action/server/CommandInvokeResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/CommandInvokeResponse.js +83 -30
- package/dist/cjs/action/server/CommandInvokeResponse.js.map +1 -1
- package/dist/cjs/action/server/DataResponse.d.ts +1 -0
- package/dist/cjs/action/server/DataResponse.d.ts.map +1 -1
- package/dist/cjs/action/server/DataResponse.js +3 -0
- package/dist/cjs/action/server/DataResponse.js.map +1 -1
- package/dist/cjs/action/server/ServerInteraction.d.ts.map +1 -1
- package/dist/cjs/action/server/ServerInteraction.js +4 -4
- package/dist/cjs/action/server/ServerInteraction.js.map +1 -1
- package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -1
- package/dist/cjs/advertisement/Advertisement.js +66 -14
- package/dist/cjs/advertisement/Advertisement.js.map +1 -1
- package/dist/cjs/advertisement/Advertiser.d.ts +4 -1
- package/dist/cjs/advertisement/Advertiser.d.ts.map +1 -1
- package/dist/cjs/advertisement/Advertiser.js +63 -2
- package/dist/cjs/advertisement/Advertiser.js.map +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +6 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.js +1 -1
- package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +5 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +1 -1
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +1 -1
- package/dist/cjs/certificate/kinds/definitions/asn.js +1 -1
- package/dist/cjs/certificate/kinds/definitions/asn.js.map +1 -1
- package/dist/cjs/certificate/kinds/definitions/attestation.d.ts.map +1 -1
- package/dist/cjs/cluster/client/AttributeClient.d.ts.map +1 -1
- package/dist/cjs/cluster/client/AttributeClient.js +2 -2
- package/dist/cjs/cluster/client/AttributeClient.js.map +1 -1
- package/dist/cjs/codec/MessageCodec.d.ts +8 -1
- package/dist/cjs/codec/MessageCodec.d.ts.map +1 -1
- package/dist/cjs/codec/MessageCodec.js +38 -28
- package/dist/cjs/codec/MessageCodec.js.map +2 -2
- package/dist/cjs/common/FailsafeContext.d.ts +8 -9
- package/dist/cjs/common/FailsafeContext.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeContext.js +27 -33
- package/dist/cjs/common/FailsafeContext.js.map +1 -1
- package/dist/cjs/common/FailsafeTimer.d.ts +4 -3
- package/dist/cjs/common/FailsafeTimer.d.ts.map +1 -1
- package/dist/cjs/common/FailsafeTimer.js +4 -4
- package/dist/cjs/common/FailsafeTimer.js.map +1 -1
- package/dist/cjs/common/Mark.d.ts +17 -0
- package/dist/cjs/common/Mark.d.ts.map +1 -0
- package/dist/cjs/{peer/OperationalPeer.js → common/Mark.js} +19 -3
- package/dist/cjs/common/Mark.js.map +6 -0
- package/dist/cjs/common/index.d.ts +1 -0
- package/dist/cjs/common/index.d.ts.map +1 -1
- package/dist/cjs/common/index.js +1 -0
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +16 -8
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +35 -18
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts +2 -2
- package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.js +3 -3
- package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
- package/dist/cjs/fabric/FabricManager.d.ts +10 -14
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricManager.js +44 -40
- package/dist/cjs/fabric/FabricManager.js.map +2 -2
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interaction/AttributeDataEncoder.d.ts +1 -1
- package/dist/cjs/interaction/InteractionClient.d.ts +2 -2
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionClient.js +39 -22
- package/dist/cjs/interaction/InteractionClient.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +2 -2
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +35 -27
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/interaction/Subscription.d.ts +16 -37
- package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
- package/dist/cjs/interaction/Subscription.js +15 -68
- package/dist/cjs/interaction/Subscription.js.map +2 -2
- package/dist/cjs/interaction/SubscriptionClient.d.ts +2 -2
- package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/SubscriptionClient.js +2 -2
- package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsClient.d.ts +10 -10
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsClient.js +165 -80
- package/dist/cjs/mdns/MdnsClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts +2 -2
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +173 -94
- package/dist/cjs/mdns/MdnsServer.js.map +2 -2
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsService.js +3 -2
- package/dist/cjs/mdns/MdnsService.js.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.d.ts +3 -2
- package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.js +2 -1
- package/dist/cjs/mdns/MdnsSocket.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -2
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +26 -28
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js +3 -3
- package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
- package/dist/cjs/peer/Peer.d.ts +57 -0
- package/dist/cjs/peer/Peer.d.ts.map +1 -0
- package/dist/cjs/peer/Peer.js +182 -0
- package/dist/cjs/peer/Peer.js.map +6 -0
- package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
- package/dist/cjs/peer/PeerAddress.js +5 -2
- package/dist/cjs/peer/PeerAddress.js.map +1 -1
- package/dist/cjs/peer/PeerAddressStore.d.ts +3 -3
- package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
- package/{src/peer/OperationalPeer.ts → dist/cjs/peer/PeerDescriptor.d.ts} +14 -12
- package/dist/cjs/peer/PeerDescriptor.d.ts.map +1 -0
- package/dist/cjs/peer/PeerDescriptor.js +71 -0
- package/dist/cjs/peer/PeerDescriptor.js.map +6 -0
- package/dist/cjs/peer/PeerSet.d.ts +23 -26
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +173 -173
- package/dist/cjs/peer/PeerSet.js.map +2 -2
- package/dist/cjs/peer/index.d.ts +1 -1
- package/dist/cjs/peer/index.d.ts.map +1 -1
- package/dist/cjs/peer/index.js +1 -1
- package/dist/cjs/peer/index.js.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.js +4 -4
- package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts +6 -9
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +306 -246
- package/dist/cjs/protocol/ExchangeManager.js.map +2 -2
- package/dist/cjs/protocol/ExchangeProvider.d.ts +9 -11
- package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeProvider.js +79 -32
- package/dist/cjs/protocol/ExchangeProvider.js.map +2 -2
- package/dist/cjs/protocol/MessageChannel.d.ts +6 -7
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +14 -16
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/MessageCounter.d.ts +4 -4
- package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageCounter.js +7 -7
- package/dist/cjs/protocol/MessageCounter.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +31 -20
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +316 -231
- package/dist/cjs/protocol/MessageExchange.js.map +2 -2
- package/dist/cjs/protocol/ProtocolMocks.d.ts +100 -0
- package/dist/cjs/protocol/ProtocolMocks.d.ts.map +1 -0
- package/dist/cjs/protocol/ProtocolMocks.js +237 -0
- package/dist/cjs/protocol/ProtocolMocks.js.map +6 -0
- package/dist/cjs/protocol/errors.d.ts +35 -0
- package/dist/cjs/protocol/errors.d.ts.map +1 -0
- package/dist/cjs/protocol/errors.js +50 -0
- package/dist/cjs/protocol/errors.js.map +6 -0
- package/dist/cjs/protocol/index.d.ts +2 -1
- package/dist/cjs/protocol/index.d.ts.map +1 -1
- package/dist/cjs/protocol/index.js +2 -1
- package/dist/cjs/protocol/index.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.js +3 -0
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.js +2 -2
- package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/cjs/session/GroupSession.d.ts +21 -10
- package/dist/cjs/session/GroupSession.d.ts.map +1 -1
- package/dist/cjs/session/GroupSession.js +37 -12
- package/dist/cjs/session/GroupSession.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +56 -50
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +95 -103
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/SecureSession.d.ts +4 -4
- package/dist/cjs/session/SecureSession.d.ts.map +1 -1
- package/dist/cjs/session/SecureSession.js +1 -1
- package/dist/cjs/session/SecureSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +82 -66
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +218 -45
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionManager.d.ts +33 -36
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +112 -150
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/SessionParameters.d.ts +87 -0
- package/dist/cjs/session/SessionParameters.d.ts.map +1 -0
- package/dist/cjs/session/SessionParameters.js +81 -0
- package/dist/cjs/session/SessionParameters.js.map +6 -0
- package/dist/{esm/session/InsecureSession.d.ts → cjs/session/UnsecuredSession.d.ts} +18 -16
- package/dist/cjs/session/UnsecuredSession.d.ts.map +1 -0
- package/dist/cjs/session/{InsecureSession.js → UnsecuredSession.js} +21 -21
- package/dist/cjs/session/UnsecuredSession.js.map +6 -0
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +6 -4
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +14 -10
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/index.d.ts +2 -1
- package/dist/cjs/session/index.d.ts.map +1 -1
- package/dist/cjs/session/index.js +2 -1
- package/dist/cjs/session/index.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.d.ts +3 -3
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +5 -3
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +13 -13
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -1
- package/dist/esm/action/client/ClientInteraction.js +82 -34
- package/dist/esm/action/client/ClientInteraction.js.map +2 -2
- package/dist/esm/action/client/subscription/ClientSubscription.d.ts +10 -5
- package/dist/esm/action/client/subscription/ClientSubscription.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/ClientSubscription.js +22 -2
- package/dist/esm/action/client/subscription/ClientSubscription.js.map +2 -2
- package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js +2 -3
- package/dist/esm/action/client/subscription/ClientSubscriptionHandler.js.map +1 -1
- package/dist/esm/action/client/subscription/ClientSubscriptions.d.ts +4 -2
- package/dist/esm/action/client/subscription/ClientSubscriptions.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/ClientSubscriptions.js +68 -8
- package/dist/esm/action/client/subscription/ClientSubscriptions.js.map +1 -1
- package/dist/esm/action/client/subscription/PeerSubscription.d.ts +0 -1
- package/dist/esm/action/client/subscription/PeerSubscription.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/PeerSubscription.js +1 -2
- package/dist/esm/action/client/subscription/PeerSubscription.js.map +1 -1
- package/dist/esm/action/client/subscription/SustainedSubscription.d.ts +0 -2
- package/dist/esm/action/client/subscription/SustainedSubscription.d.ts.map +1 -1
- package/dist/esm/action/client/subscription/SustainedSubscription.js +2 -4
- package/dist/esm/action/client/subscription/SustainedSubscription.js.map +1 -1
- package/dist/esm/action/request/Invoke.js +2 -2
- package/dist/esm/action/request/Invoke.js.map +1 -1
- package/dist/esm/action/server/AttributeReadResponse.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeReadResponse.js +78 -25
- package/dist/esm/action/server/AttributeReadResponse.js.map +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.d.ts.map +1 -1
- package/dist/esm/action/server/AttributeWriteResponse.js +70 -17
- package/dist/esm/action/server/AttributeWriteResponse.js.map +1 -1
- package/dist/esm/action/server/CommandInvokeResponse.d.ts.map +1 -1
- package/dist/esm/action/server/CommandInvokeResponse.js +83 -30
- package/dist/esm/action/server/CommandInvokeResponse.js.map +1 -1
- package/dist/esm/action/server/DataResponse.d.ts +1 -0
- package/dist/esm/action/server/DataResponse.d.ts.map +1 -1
- package/dist/esm/action/server/DataResponse.js +3 -0
- package/dist/esm/action/server/DataResponse.js.map +1 -1
- package/dist/esm/action/server/ServerInteraction.d.ts.map +1 -1
- package/dist/esm/action/server/ServerInteraction.js +4 -4
- package/dist/esm/action/server/ServerInteraction.js.map +1 -1
- package/dist/esm/advertisement/Advertisement.d.ts.map +1 -1
- package/dist/esm/advertisement/Advertisement.js +66 -14
- package/dist/esm/advertisement/Advertisement.js.map +1 -1
- package/dist/esm/advertisement/Advertiser.d.ts +4 -1
- package/dist/esm/advertisement/Advertiser.d.ts.map +1 -1
- package/dist/esm/advertisement/Advertiser.js +63 -2
- package/dist/esm/advertisement/Advertiser.js.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +6 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.js +1 -1
- package/dist/esm/advertisement/ble/BleAdvertiser.js.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +5 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +1 -1
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +1 -1
- package/dist/esm/certificate/kinds/definitions/asn.js +2 -2
- package/dist/esm/certificate/kinds/definitions/asn.js.map +1 -1
- package/dist/esm/certificate/kinds/definitions/attestation.d.ts.map +1 -1
- package/dist/esm/cluster/client/AttributeClient.d.ts.map +1 -1
- package/dist/esm/cluster/client/AttributeClient.js +1 -1
- package/dist/esm/cluster/client/AttributeClient.js.map +1 -1
- package/dist/esm/codec/MessageCodec.d.ts +8 -1
- package/dist/esm/codec/MessageCodec.d.ts.map +1 -1
- package/dist/esm/codec/MessageCodec.js +39 -28
- package/dist/esm/codec/MessageCodec.js.map +2 -2
- package/dist/esm/common/FailsafeContext.d.ts +8 -9
- package/dist/esm/common/FailsafeContext.d.ts.map +1 -1
- package/dist/esm/common/FailsafeContext.js +27 -33
- package/dist/esm/common/FailsafeContext.js.map +1 -1
- package/dist/esm/common/FailsafeTimer.d.ts +4 -3
- package/dist/esm/common/FailsafeTimer.d.ts.map +1 -1
- package/dist/esm/common/FailsafeTimer.js +4 -4
- package/dist/esm/common/FailsafeTimer.js.map +1 -1
- package/dist/esm/common/Mark.d.ts +17 -0
- package/dist/esm/common/Mark.d.ts.map +1 -0
- package/dist/esm/common/Mark.js +18 -0
- package/dist/esm/common/Mark.js.map +6 -0
- package/dist/esm/common/index.d.ts +1 -0
- package/dist/esm/common/index.d.ts.map +1 -1
- package/dist/esm/common/index.js +1 -0
- package/dist/esm/common/index.js.map +1 -1
- package/dist/esm/fabric/Fabric.d.ts +16 -8
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +36 -18
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/fabric/FabricAuthority.d.ts +2 -2
- package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/esm/fabric/FabricAuthority.js +5 -5
- package/dist/esm/fabric/FabricAuthority.js.map +1 -1
- package/dist/esm/fabric/FabricManager.d.ts +10 -14
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
- package/dist/esm/fabric/FabricManager.js +45 -40
- package/dist/esm/fabric/FabricManager.js.map +2 -2
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interaction/AttributeDataEncoder.d.ts +1 -1
- package/dist/esm/interaction/InteractionClient.d.ts +2 -2
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionClient.js +39 -22
- package/dist/esm/interaction/InteractionClient.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +2 -2
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +33 -28
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/interaction/Subscription.d.ts +16 -37
- package/dist/esm/interaction/Subscription.d.ts.map +1 -1
- package/dist/esm/interaction/Subscription.js +16 -69
- package/dist/esm/interaction/Subscription.js.map +2 -2
- package/dist/esm/interaction/SubscriptionClient.d.ts +2 -2
- package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/esm/interaction/SubscriptionClient.js +2 -2
- package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
- package/dist/esm/mdns/MdnsClient.d.ts +10 -10
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsClient.js +166 -80
- package/dist/esm/mdns/MdnsClient.js.map +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts +2 -2
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +176 -94
- package/dist/esm/mdns/MdnsServer.js.map +2 -2
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsService.js +3 -2
- package/dist/esm/mdns/MdnsService.js.map +1 -1
- package/dist/esm/mdns/MdnsSocket.d.ts +3 -2
- package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsSocket.js +2 -1
- package/dist/esm/mdns/MdnsSocket.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.d.ts +2 -2
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +26 -28
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js +1 -1
- package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
- package/dist/esm/peer/Peer.d.ts +57 -0
- package/dist/esm/peer/Peer.d.ts.map +1 -0
- package/dist/esm/peer/Peer.js +162 -0
- package/dist/esm/peer/Peer.js.map +6 -0
- package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
- package/dist/esm/peer/PeerAddress.js +5 -2
- package/dist/esm/peer/PeerAddress.js.map +1 -1
- package/dist/esm/peer/PeerAddressStore.d.ts +3 -3
- package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
- package/dist/{cjs/peer/OperationalPeer.d.ts → esm/peer/PeerDescriptor.d.ts} +14 -7
- package/dist/esm/peer/PeerDescriptor.d.ts.map +1 -0
- package/dist/esm/peer/PeerDescriptor.js +51 -0
- package/dist/esm/peer/PeerDescriptor.js.map +6 -0
- package/dist/esm/peer/PeerSet.d.ts +23 -26
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +173 -175
- package/dist/esm/peer/PeerSet.js.map +2 -2
- package/dist/esm/peer/index.d.ts +1 -1
- package/dist/esm/peer/index.d.ts.map +1 -1
- package/dist/esm/peer/index.js +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.js +4 -4
- package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts +6 -9
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +308 -251
- package/dist/esm/protocol/ExchangeManager.js.map +2 -2
- package/dist/esm/protocol/ExchangeProvider.d.ts +9 -11
- package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeProvider.js +81 -37
- package/dist/esm/protocol/ExchangeProvider.js.map +2 -2
- package/dist/esm/protocol/MessageChannel.d.ts +6 -7
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +22 -18
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/MessageCounter.d.ts +4 -4
- package/dist/esm/protocol/MessageCounter.d.ts.map +1 -1
- package/dist/esm/protocol/MessageCounter.js +7 -7
- package/dist/esm/protocol/MessageCounter.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +31 -20
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +318 -238
- package/dist/esm/protocol/MessageExchange.js.map +2 -2
- package/dist/esm/protocol/ProtocolMocks.d.ts +100 -0
- package/dist/esm/protocol/ProtocolMocks.d.ts.map +1 -0
- package/dist/esm/protocol/ProtocolMocks.js +230 -0
- package/dist/esm/protocol/ProtocolMocks.js.map +6 -0
- package/dist/esm/protocol/errors.d.ts +35 -0
- package/dist/esm/protocol/errors.d.ts.map +1 -0
- package/dist/esm/protocol/errors.js +30 -0
- package/dist/esm/protocol/errors.js.map +6 -0
- package/dist/esm/protocol/index.d.ts +2 -1
- package/dist/esm/protocol/index.d.ts.map +1 -1
- package/dist/esm/protocol/index.js +2 -1
- package/dist/esm/protocol/index.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -0
- package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.js +3 -0
- package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelProtocol.js +2 -2
- package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/esm/session/GroupSession.d.ts +21 -10
- package/dist/esm/session/GroupSession.d.ts.map +1 -1
- package/dist/esm/session/GroupSession.js +41 -12
- package/dist/esm/session/GroupSession.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +56 -50
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +99 -105
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/SecureSession.d.ts +4 -4
- package/dist/esm/session/SecureSession.d.ts.map +1 -1
- package/dist/esm/session/SecureSession.js +1 -1
- package/dist/esm/session/SecureSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +82 -66
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +223 -45
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionManager.d.ts +33 -36
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +113 -157
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/SessionParameters.d.ts +87 -0
- package/dist/esm/session/SessionParameters.d.ts.map +1 -0
- package/dist/esm/session/SessionParameters.js +61 -0
- package/dist/esm/session/SessionParameters.js.map +6 -0
- package/dist/{cjs/session/InsecureSession.d.ts → esm/session/UnsecuredSession.d.ts} +18 -16
- package/dist/esm/session/UnsecuredSession.d.ts.map +1 -0
- package/dist/esm/session/{InsecureSession.js → UnsecuredSession.js} +18 -18
- package/dist/esm/session/UnsecuredSession.js.map +6 -0
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +5 -3
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
- package/dist/esm/session/case/CaseServer.js +14 -10
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/index.d.ts +2 -1
- package/dist/esm/session/index.d.ts.map +1 -1
- package/dist/esm/session/index.js +2 -1
- package/dist/esm/session/index.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.d.ts +3 -3
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +5 -3
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +13 -13
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/ClientInteraction.ts +47 -13
- package/src/action/client/subscription/ClientSubscription.ts +30 -5
- package/src/action/client/subscription/ClientSubscriptionHandler.ts +2 -4
- package/src/action/client/subscription/ClientSubscriptions.ts +14 -3
- package/src/action/client/subscription/PeerSubscription.ts +2 -2
- package/src/action/client/subscription/SustainedSubscription.ts +2 -6
- package/src/action/request/Invoke.ts +2 -2
- package/src/action/server/AttributeReadResponse.ts +2 -0
- package/src/action/server/AttributeWriteResponse.ts +2 -0
- package/src/action/server/CommandInvokeResponse.ts +1 -0
- package/src/action/server/DataResponse.ts +4 -0
- package/src/action/server/ServerInteraction.ts +4 -4
- package/src/advertisement/Advertisement.ts +6 -7
- package/src/advertisement/Advertiser.ts +12 -1
- package/src/advertisement/ble/BleAdvertiser.ts +7 -2
- package/src/advertisement/mdns/MdnsAdvertiser.ts +7 -1
- package/src/certificate/kinds/definitions/asn.ts +2 -2
- package/src/certificate/kinds/definitions/attestation.ts +1 -0
- package/src/cluster/client/AttributeClient.ts +1 -1
- package/src/codec/MessageCodec.ts +39 -32
- package/src/common/FailsafeContext.ts +36 -39
- package/src/common/FailsafeTimer.ts +7 -6
- package/src/common/Mark.ts +17 -0
- package/src/common/index.ts +1 -0
- package/src/fabric/Fabric.ts +51 -23
- package/src/fabric/FabricAuthority.ts +4 -4
- package/src/fabric/FabricManager.ts +53 -40
- package/src/index.ts +3 -1
- package/src/interaction/InteractionClient.ts +40 -23
- package/src/interaction/InteractionMessenger.ts +38 -32
- package/src/interaction/Subscription.ts +20 -92
- package/src/interaction/SubscriptionClient.ts +3 -3
- package/src/mdns/MdnsClient.ts +20 -3
- package/src/mdns/MdnsServer.ts +13 -1
- package/src/mdns/MdnsService.ts +3 -2
- package/src/mdns/MdnsSocket.ts +9 -3
- package/src/peer/ControllerCommissioner.ts +35 -37
- package/src/peer/ControllerDiscovery.ts +1 -1
- package/src/peer/Peer.ts +161 -0
- package/src/peer/PeerAddress.ts +6 -2
- package/src/peer/PeerAddressStore.ts +3 -3
- package/src/peer/PeerDescriptor.ts +89 -0
- package/src/peer/PeerSet.ts +145 -213
- package/src/peer/index.ts +1 -1
- package/src/protocol/DeviceAdvertiser.ts +4 -4
- package/src/protocol/ExchangeManager.ts +161 -181
- package/src/protocol/ExchangeProvider.ts +31 -40
- package/src/protocol/MessageChannel.ts +29 -18
- package/src/protocol/MessageCounter.ts +8 -8
- package/src/protocol/MessageExchange.ts +181 -144
- package/src/protocol/ProtocolMocks.ts +302 -0
- package/src/protocol/errors.ts +44 -0
- package/src/protocol/index.ts +2 -1
- package/src/securechannel/SecureChannelMessenger.ts +4 -0
- package/src/securechannel/SecureChannelProtocol.ts +2 -2
- package/src/session/GroupSession.ts +67 -23
- package/src/session/NodeSession.ts +140 -136
- package/src/session/SecureSession.ts +6 -5
- package/src/session/Session.ts +234 -101
- package/src/session/SessionManager.ts +148 -187
- package/src/session/SessionParameters.ts +108 -0
- package/src/session/{InsecureSession.ts → UnsecuredSession.ts} +28 -26
- package/src/session/case/CaseClient.ts +6 -3
- package/src/session/case/CaseServer.ts +15 -11
- package/src/session/index.ts +2 -1
- package/src/session/pase/PaseClient.ts +12 -5
- package/src/session/pase/PaseServer.ts +14 -13
- package/dist/cjs/peer/OperationalPeer.d.ts.map +0 -1
- package/dist/cjs/peer/OperationalPeer.js.map +0 -6
- package/dist/cjs/protocol/ChannelManager.d.ts +0 -29
- package/dist/cjs/protocol/ChannelManager.d.ts.map +0 -1
- package/dist/cjs/protocol/ChannelManager.js +0 -178
- package/dist/cjs/protocol/ChannelManager.js.map +0 -6
- package/dist/cjs/session/InsecureSession.d.ts.map +0 -1
- package/dist/cjs/session/InsecureSession.js.map +0 -6
- package/dist/esm/peer/OperationalPeer.d.ts +0 -38
- package/dist/esm/peer/OperationalPeer.d.ts.map +0 -1
- package/dist/esm/peer/OperationalPeer.js +0 -6
- package/dist/esm/peer/OperationalPeer.js.map +0 -6
- package/dist/esm/protocol/ChannelManager.d.ts +0 -29
- package/dist/esm/protocol/ChannelManager.d.ts.map +0 -1
- package/dist/esm/protocol/ChannelManager.js +0 -158
- package/dist/esm/protocol/ChannelManager.js.map +0 -6
- package/dist/esm/session/InsecureSession.d.ts.map +0 -1
- package/dist/esm/session/InsecureSession.js.map +0 -6
- package/src/protocol/ChannelManager.ts +0 -180
package/dist/cjs/peer/PeerSet.js
CHANGED
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
+
var __typeError = (msg) => {
|
|
8
|
+
throw TypeError(msg);
|
|
9
|
+
};
|
|
6
10
|
var __export = (target, all) => {
|
|
7
11
|
for (var name in all)
|
|
8
12
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -16,6 +20,47 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
20
|
return to;
|
|
17
21
|
};
|
|
18
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var __using = (stack, value, async) => {
|
|
24
|
+
if (value != null) {
|
|
25
|
+
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
26
|
+
var dispose, inner;
|
|
27
|
+
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
28
|
+
if (dispose === void 0) {
|
|
29
|
+
dispose = value[__knownSymbol("dispose")];
|
|
30
|
+
if (async) inner = dispose;
|
|
31
|
+
}
|
|
32
|
+
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
33
|
+
if (inner) dispose = function() {
|
|
34
|
+
try {
|
|
35
|
+
inner.call(this);
|
|
36
|
+
} catch (e) {
|
|
37
|
+
return Promise.reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
stack.push([async, dispose, value]);
|
|
41
|
+
} else if (async) {
|
|
42
|
+
stack.push([async]);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
};
|
|
46
|
+
var __callDispose = (stack, error, hasError) => {
|
|
47
|
+
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
48
|
+
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
49
|
+
};
|
|
50
|
+
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
51
|
+
var next = (it) => {
|
|
52
|
+
while (it = stack.pop()) {
|
|
53
|
+
try {
|
|
54
|
+
var result = it[1] && it[1].call(it[2]);
|
|
55
|
+
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
56
|
+
} catch (e) {
|
|
57
|
+
fail(e);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (hasError) throw error;
|
|
61
|
+
};
|
|
62
|
+
return next();
|
|
63
|
+
};
|
|
19
64
|
var PeerSet_exports = {};
|
|
20
65
|
__export(PeerSet_exports, {
|
|
21
66
|
NodeDiscoveryType: () => NodeDiscoveryType,
|
|
@@ -26,17 +71,17 @@ module.exports = __toCommonJS(PeerSet_exports);
|
|
|
26
71
|
var import_Scanner = require("#common/Scanner.js");
|
|
27
72
|
var import_general = require("#general");
|
|
28
73
|
var import_PeerAddress = require("#peer/PeerAddress.js");
|
|
29
|
-
var
|
|
74
|
+
var import_errors = require("#protocol/errors.js");
|
|
30
75
|
var import_ExchangeManager = require("#protocol/ExchangeManager.js");
|
|
31
76
|
var import_ExchangeProvider = require("#protocol/ExchangeProvider.js");
|
|
32
|
-
var import_MessageChannel = require("#protocol/MessageChannel.js");
|
|
33
|
-
var import_MessageExchange = require("#protocol/MessageExchange.js");
|
|
34
77
|
var import_SecureChannelMessenger = require("#securechannel/SecureChannelMessenger.js");
|
|
35
78
|
var import_CaseClient = require("#session/case/CaseClient.js");
|
|
79
|
+
var import_SecureSession = require("#session/SecureSession.js");
|
|
36
80
|
var import_SessionManager = require("#session/SessionManager.js");
|
|
37
81
|
var import_types = require("#types");
|
|
38
82
|
var import_ControllerDiscovery = require("./ControllerDiscovery.js");
|
|
39
83
|
var import_InteractionQueue = require("./InteractionQueue.js");
|
|
84
|
+
var import_Peer = require("./Peer.js");
|
|
40
85
|
var import_PeerAddressStore = require("./PeerAddressStore.js");
|
|
41
86
|
/**
|
|
42
87
|
* @license
|
|
@@ -56,37 +101,42 @@ var NodeDiscoveryType = /* @__PURE__ */ ((NodeDiscoveryType2) => {
|
|
|
56
101
|
class UnknownNodeError extends import_general.MatterError {
|
|
57
102
|
}
|
|
58
103
|
class PeerSet {
|
|
104
|
+
#lifetime;
|
|
59
105
|
#sessions;
|
|
60
|
-
#channels;
|
|
61
106
|
#exchanges;
|
|
62
107
|
#scanners;
|
|
63
108
|
#transports;
|
|
64
109
|
#caseClient;
|
|
65
110
|
#peers = new import_general.BasicSet();
|
|
66
|
-
#peersByAddress = new import_PeerAddress.PeerAddressMap();
|
|
67
|
-
#runningPeerDiscoveries = new import_PeerAddress.PeerAddressMap();
|
|
68
|
-
#runningPeerReconnections = new import_PeerAddress.PeerAddressMap();
|
|
69
111
|
#construction;
|
|
70
112
|
#store;
|
|
71
113
|
#interactionQueue = new import_InteractionQueue.InteractionQueue();
|
|
72
114
|
#nodeCachedData = new import_PeerAddress.PeerAddressMap();
|
|
73
115
|
// Temporarily until we store it in new API
|
|
74
116
|
#disconnected = (0, import_general.AsyncObservable)();
|
|
117
|
+
#peerContext;
|
|
75
118
|
constructor(context) {
|
|
76
|
-
const {
|
|
119
|
+
const { lifetime, sessions, exchanges, scanners, transports: netInterfaces, store } = context;
|
|
120
|
+
this.#lifetime = lifetime.join("peers");
|
|
77
121
|
this.#sessions = sessions;
|
|
78
|
-
this.#channels = channels;
|
|
79
122
|
this.#exchanges = exchanges;
|
|
80
123
|
this.#scanners = scanners;
|
|
81
124
|
this.#transports = netInterfaces;
|
|
82
125
|
this.#store = store;
|
|
83
126
|
this.#caseClient = new import_CaseClient.CaseClient(this.#sessions);
|
|
127
|
+
this.#peerContext = {
|
|
128
|
+
lifetime: this.#lifetime,
|
|
129
|
+
sessions,
|
|
130
|
+
savePeer: (peer) => this.#store.updatePeer(peer.descriptor),
|
|
131
|
+
deletePeer: (peer) => this.#store.deletePeer(peer.address),
|
|
132
|
+
closed: (peer) => this.#peers.delete(peer)
|
|
133
|
+
};
|
|
84
134
|
this.#peers.added.on((peer) => {
|
|
85
|
-
peer.
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
135
|
+
peer.sessions.deleted.on(() => {
|
|
136
|
+
if (!peer.sessions.size) {
|
|
137
|
+
this.#disconnected.emit(peer);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
90
140
|
});
|
|
91
141
|
this.#sessions.retry.on((session, count) => {
|
|
92
142
|
if (count !== 1) {
|
|
@@ -94,14 +144,9 @@ class PeerSet {
|
|
|
94
144
|
}
|
|
95
145
|
this.#handleFirstRetry(session);
|
|
96
146
|
});
|
|
97
|
-
this.#channels.added.on((address, msgChannel) => {
|
|
98
|
-
if ((0, import_general.isIpNetworkChannel)(msgChannel.channel)) {
|
|
99
|
-
return this.#addOrUpdatePeer(address, msgChannel.channel.networkAddress);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
147
|
this.#construction = (0, import_general.Construction)(this, async () => {
|
|
103
|
-
for (const
|
|
104
|
-
this.#peers.add(
|
|
148
|
+
for (const descriptor of await this.#store.loadPeers()) {
|
|
149
|
+
this.#peers.add(new import_Peer.Peer(descriptor, this.#peerContext));
|
|
105
150
|
}
|
|
106
151
|
});
|
|
107
152
|
}
|
|
@@ -117,11 +162,22 @@ class PeerSet {
|
|
|
117
162
|
get disconnected() {
|
|
118
163
|
return this.#disconnected;
|
|
119
164
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
165
|
+
/**
|
|
166
|
+
* Unconditional get.
|
|
167
|
+
*
|
|
168
|
+
* Creates the peer if not already present.
|
|
169
|
+
*/
|
|
170
|
+
for(address) {
|
|
171
|
+
let peer = this.get(address);
|
|
172
|
+
if (peer) {
|
|
173
|
+
return peer;
|
|
123
174
|
}
|
|
124
|
-
|
|
175
|
+
peer = new import_Peer.Peer({ address }, this.#peerContext);
|
|
176
|
+
this.#peers.add(peer);
|
|
177
|
+
return peer;
|
|
178
|
+
}
|
|
179
|
+
has(item) {
|
|
180
|
+
return !!this.get(item);
|
|
125
181
|
}
|
|
126
182
|
get size() {
|
|
127
183
|
return this.#peers.size;
|
|
@@ -143,8 +199,8 @@ class PeerSet {
|
|
|
143
199
|
}
|
|
144
200
|
static [import_general.Environmental.create](env) {
|
|
145
201
|
const instance = new PeerSet({
|
|
202
|
+
lifetime: env,
|
|
146
203
|
sessions: env.get(import_SessionManager.SessionManager),
|
|
147
|
-
channels: env.get(import_ChannelManager.ChannelManager),
|
|
148
204
|
exchanges: env.get(import_ExchangeManager.ExchangeManager),
|
|
149
205
|
scanners: env.get(import_Scanner.ScannerSet),
|
|
150
206
|
transports: env.get(import_general.ConnectionlessTransportSet),
|
|
@@ -167,29 +223,31 @@ class PeerSet {
|
|
|
167
223
|
*/
|
|
168
224
|
async #ensureConnection(address, options) {
|
|
169
225
|
address = (0, import_PeerAddress.PeerAddress)(address);
|
|
170
|
-
|
|
226
|
+
if (import_PeerAddress.PeerAddress.isGroup(address)) {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
171
229
|
const { allowUnknownPeer, operationalAddress } = options;
|
|
172
|
-
if (!this
|
|
230
|
+
if (!this.has(address) && !allowUnknownPeer) {
|
|
173
231
|
throw new UnknownNodeError(`Cannot connect to unknown device ${(0, import_PeerAddress.PeerAddress)(address)}`);
|
|
174
232
|
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
233
|
+
const peer = this.for(address);
|
|
234
|
+
if (this.#sessions.maybeSessionFor(address) || peer.activeDiscovery?.type === 3 /* FullDiscovery */) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
const { promise: existingReconnectPromise } = peer.activeReconnection ?? {};
|
|
238
|
+
if (existingReconnectPromise !== void 0) {
|
|
239
|
+
return existingReconnectPromise;
|
|
240
|
+
}
|
|
241
|
+
const { promise, resolver, rejecter } = (0, import_general.createPromise)();
|
|
242
|
+
peer.activeReconnection = { promise, rejecter };
|
|
243
|
+
this.#resume(address, options, operationalAddress).then((channel) => {
|
|
244
|
+
peer.activeReconnection = void 0;
|
|
245
|
+
resolver(channel);
|
|
246
|
+
}).catch((error) => {
|
|
247
|
+
peer.activeReconnection = void 0;
|
|
248
|
+
rejecter(error);
|
|
249
|
+
});
|
|
250
|
+
if (options.discoveryOptions?.discoveryType !== 3 /* FullDiscovery */) {
|
|
193
251
|
return promise;
|
|
194
252
|
}
|
|
195
253
|
}
|
|
@@ -197,49 +255,46 @@ class PeerSet {
|
|
|
197
255
|
* Obtain an exchange provider for the designated peer.
|
|
198
256
|
* TODO enhance PeerConnectionOptions.discoveryOptions.discoveryData with "addresses" for known operational addresses
|
|
199
257
|
*/
|
|
200
|
-
async exchangeProviderFor(
|
|
201
|
-
if (
|
|
202
|
-
return new import_ExchangeProvider.DedicatedChannelExchangeProvider(this.#exchanges,
|
|
258
|
+
async exchangeProviderFor(addressOrSession, options = {}) {
|
|
259
|
+
if (addressOrSession instanceof import_SecureSession.SecureSession) {
|
|
260
|
+
return new import_ExchangeProvider.DedicatedChannelExchangeProvider(this.#exchanges, addressOrSession);
|
|
203
261
|
}
|
|
204
|
-
const address =
|
|
262
|
+
const address = addressOrSession;
|
|
205
263
|
if (import_PeerAddress.PeerAddress.isGroup(address)) {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
return new import_ExchangeProvider.DedicatedChannelExchangeProvider(this.#exchanges, this.#channels.getChannel(address));
|
|
264
|
+
const session = await this.#sessions.groupSessionForAddress(address, this.#transports);
|
|
265
|
+
return new import_ExchangeProvider.DedicatedChannelExchangeProvider(this.#exchanges, session);
|
|
210
266
|
}
|
|
211
|
-
let initiallyConnected = this.#
|
|
212
|
-
return new import_ExchangeProvider.ReconnectableExchangeProvider(this.#exchanges, this.#
|
|
267
|
+
let initiallyConnected = !!this.#sessions.maybeSessionFor(address);
|
|
268
|
+
return new import_ExchangeProvider.ReconnectableExchangeProvider(this.#exchanges, this.#sessions, address, async () => {
|
|
213
269
|
const { caseAuthenticatedTags, discoveryOptions } = options;
|
|
214
|
-
if (!initiallyConnected && !this.#
|
|
270
|
+
if (!initiallyConnected && !this.#sessions.maybeSessionFor(address)) {
|
|
215
271
|
await this.#ensureConnection(address, {
|
|
216
272
|
discoveryOptions: { discoveryType: 0 /* None */ },
|
|
217
273
|
caseAuthenticatedTags
|
|
218
274
|
});
|
|
219
275
|
initiallyConnected = true;
|
|
220
|
-
if (this.#
|
|
276
|
+
if (this.#sessions.maybeSessionFor(address)) {
|
|
221
277
|
return;
|
|
222
278
|
}
|
|
223
279
|
}
|
|
224
|
-
if (!this.#
|
|
225
|
-
throw new
|
|
280
|
+
if (!this.#sessions.maybeSessionFor(address)) {
|
|
281
|
+
throw new import_errors.RetransmissionLimitReachedError(`Device ${(0, import_PeerAddress.PeerAddress)(address)} is unreachable`);
|
|
226
282
|
}
|
|
227
|
-
await this.#
|
|
283
|
+
await this.#sessions.handlePeerLoss(address);
|
|
228
284
|
const { discoveryData } = discoveryOptions ?? {
|
|
229
|
-
discoveryData: this
|
|
285
|
+
discoveryData: this.get(address)?.descriptor.discoveryData
|
|
230
286
|
};
|
|
231
287
|
const operationalAddress = this.#knownOperationalAddressFor(address, true);
|
|
232
288
|
if (operationalAddress === void 0) {
|
|
233
289
|
logger.info(
|
|
234
290
|
`Re-discovering device failed (no address found), remove all sessions for ${(0, import_PeerAddress.PeerAddress)(address)}`
|
|
235
291
|
);
|
|
236
|
-
|
|
237
|
-
throw new import_MessageExchange.RetransmissionLimitReachedError(`No operational address found for ${(0, import_PeerAddress.PeerAddress)(address)}`);
|
|
292
|
+
throw new import_errors.RetransmissionLimitReachedError(`No operational address found for ${(0, import_PeerAddress.PeerAddress)(address)}`);
|
|
238
293
|
}
|
|
239
294
|
if (await this.#reconnectKnownAddress(address, operationalAddress, discoveryData, {
|
|
240
295
|
expectedProcessingTime: (0, import_general.Seconds)(2)
|
|
241
296
|
}) === void 0) {
|
|
242
|
-
throw new
|
|
297
|
+
throw new import_errors.RetransmissionLimitReachedError(`${(0, import_PeerAddress.PeerAddress)(address)} is not reachable`);
|
|
243
298
|
}
|
|
244
299
|
});
|
|
245
300
|
}
|
|
@@ -248,55 +303,23 @@ class PeerSet {
|
|
|
248
303
|
*/
|
|
249
304
|
get(peer) {
|
|
250
305
|
if ("address" in peer) {
|
|
251
|
-
return this.#
|
|
252
|
-
}
|
|
253
|
-
return this.#peersByAddress.get(peer);
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Terminate any active peer connection.
|
|
257
|
-
* Also handles unknown peers
|
|
258
|
-
*/
|
|
259
|
-
async disconnect(peer, sendSessionClose = true) {
|
|
260
|
-
let address = this.get(peer)?.address;
|
|
261
|
-
if (address === void 0) {
|
|
262
|
-
if ("nodeId" in peer && "fabricIndex" in peer) {
|
|
263
|
-
address = peer;
|
|
264
|
-
} else {
|
|
265
|
-
return;
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
await this.#sessions.removeAllSessionsForNode(address, sendSessionClose);
|
|
269
|
-
await this.#channels.removeAllNodeChannels(address);
|
|
270
|
-
await this.#disconnected.emit(address);
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Forget a known peer.
|
|
274
|
-
*/
|
|
275
|
-
async delete(peer) {
|
|
276
|
-
const actual = this.get(peer);
|
|
277
|
-
if (actual === void 0) {
|
|
278
|
-
return;
|
|
306
|
+
return this.#peers.get("address", (0, import_PeerAddress.PeerAddress)(peer.address));
|
|
279
307
|
}
|
|
280
|
-
|
|
281
|
-
logger.info(`Removing ${address}`);
|
|
282
|
-
this.#peers.delete(actual);
|
|
283
|
-
await this.#store.deletePeer(address);
|
|
284
|
-
await this.disconnect(address, false);
|
|
285
|
-
await this.#sessions.deleteResumptionRecord(address);
|
|
308
|
+
return this.#peers.get("address", (0, import_PeerAddress.PeerAddress)(peer));
|
|
286
309
|
}
|
|
287
310
|
async close() {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
311
|
+
var _stack = [];
|
|
312
|
+
try {
|
|
313
|
+
const _closing = __using(_stack, this.#lifetime.closing());
|
|
314
|
+
for (const peer of this.#peers) {
|
|
315
|
+
await peer.close();
|
|
316
|
+
}
|
|
317
|
+
this.#interactionQueue.close();
|
|
318
|
+
} catch (_) {
|
|
319
|
+
var _error = _, _hasError = true;
|
|
320
|
+
} finally {
|
|
321
|
+
__callDispose(_stack, _error, _hasError);
|
|
294
322
|
}
|
|
295
|
-
this.#interactionQueue.close();
|
|
296
|
-
this.#runningPeerReconnections.forEach(
|
|
297
|
-
({ rejecter }) => rejecter(new import_MessageChannel.ChannelNotConnectedError("PeerSet closed"))
|
|
298
|
-
);
|
|
299
|
-
this.#runningPeerReconnections.clear();
|
|
300
323
|
}
|
|
301
324
|
/**
|
|
302
325
|
* Resume a device connection and establish a CASE session that was previously paired with the controller. This
|
|
@@ -310,9 +333,9 @@ class PeerSet {
|
|
|
310
333
|
try {
|
|
311
334
|
return await this.#connectOrDiscoverNode(address, operationalAddress, options);
|
|
312
335
|
} catch (error) {
|
|
313
|
-
if ((error instanceof import_ControllerDiscovery.DiscoveryError || error instanceof import_general.NoResponseTimeoutError) && this
|
|
336
|
+
if ((error instanceof import_ControllerDiscovery.DiscoveryError || error instanceof import_general.NoResponseTimeoutError) && this.has(address) && tryOperationalAddress === void 0) {
|
|
314
337
|
logger.info(`Resume failed, remove all sessions for ${(0, import_PeerAddress.PeerAddress)(address)}`);
|
|
315
|
-
await this.#sessions.
|
|
338
|
+
await this.#sessions.handlePeerLoss(address);
|
|
316
339
|
}
|
|
317
340
|
throw error;
|
|
318
341
|
}
|
|
@@ -323,7 +346,7 @@ class PeerSet {
|
|
|
323
346
|
discoveryOptions: {
|
|
324
347
|
discoveryType: requestedDiscoveryType = 3 /* FullDiscovery */,
|
|
325
348
|
timeout,
|
|
326
|
-
discoveryData = this
|
|
349
|
+
discoveryData = this.get(address)?.descriptor.discoveryData
|
|
327
350
|
} = {},
|
|
328
351
|
caseAuthenticatedTags
|
|
329
352
|
} = options ?? {};
|
|
@@ -337,12 +360,13 @@ class PeerSet {
|
|
|
337
360
|
if (!mdnsScanner) {
|
|
338
361
|
throw new import_general.ImplementationError("Cannot discover device without mDNS scanner.");
|
|
339
362
|
}
|
|
340
|
-
const
|
|
363
|
+
const peer = this.for(address);
|
|
364
|
+
const existingDiscoveryDetails = peer.activeDiscovery ?? {
|
|
341
365
|
type: 0 /* None */
|
|
342
366
|
};
|
|
343
367
|
if (existingDiscoveryDetails.type !== 0 /* None */ && existingDiscoveryDetails.type < requestedDiscoveryType) {
|
|
344
368
|
mdnsScanner.cancelOperationalDeviceDiscovery(this.#sessions.fabricFor(address), address.nodeId);
|
|
345
|
-
|
|
369
|
+
peer.activeDiscovery = void 0;
|
|
346
370
|
existingDiscoveryDetails.type = 0 /* None */;
|
|
347
371
|
}
|
|
348
372
|
const { type: runningDiscoveryType, promises } = existingDiscoveryDetails;
|
|
@@ -399,7 +423,7 @@ class PeerSet {
|
|
|
399
423
|
this.#sessions.fabricFor(address),
|
|
400
424
|
address.nodeId
|
|
401
425
|
);
|
|
402
|
-
|
|
426
|
+
peer.activeDiscovery = void 0;
|
|
403
427
|
resolver(result);
|
|
404
428
|
}
|
|
405
429
|
} catch (error) {
|
|
@@ -409,7 +433,7 @@ class PeerSet {
|
|
|
409
433
|
this.#sessions.fabricFor(address),
|
|
410
434
|
address.nodeId
|
|
411
435
|
);
|
|
412
|
-
|
|
436
|
+
peer.activeDiscovery = void 0;
|
|
413
437
|
rejecter(error);
|
|
414
438
|
}
|
|
415
439
|
}
|
|
@@ -431,9 +455,9 @@ class PeerSet {
|
|
|
431
455
|
timeout,
|
|
432
456
|
timeout === void 0
|
|
433
457
|
);
|
|
434
|
-
const { stopTimerFunc: stopTimerFunc2 } =
|
|
458
|
+
const { stopTimerFunc: stopTimerFunc2 } = peer.activeDiscovery ?? {};
|
|
435
459
|
stopTimerFunc2?.();
|
|
436
|
-
|
|
460
|
+
peer.activeDiscovery = void 0;
|
|
437
461
|
const { result } = await import_ControllerDiscovery.ControllerDiscovery.iterateServerAddresses(
|
|
438
462
|
[scanResult],
|
|
439
463
|
import_general.NoResponseTimeoutError,
|
|
@@ -444,25 +468,25 @@ class PeerSet {
|
|
|
444
468
|
);
|
|
445
469
|
return device !== void 0 ? [device] : [];
|
|
446
470
|
},
|
|
447
|
-
async (operationalAddress2,
|
|
448
|
-
const result2 = await this.#pair(address, operationalAddress2,
|
|
471
|
+
async (operationalAddress2, peer2) => {
|
|
472
|
+
const result2 = await this.#pair(address, operationalAddress2, peer2, { caseAuthenticatedTags });
|
|
449
473
|
await this.#addOrUpdatePeer(address, operationalAddress2, {
|
|
450
474
|
...discoveryData,
|
|
451
|
-
...
|
|
475
|
+
...peer2
|
|
452
476
|
});
|
|
453
477
|
return result2;
|
|
454
478
|
}
|
|
455
479
|
);
|
|
456
480
|
return result;
|
|
457
481
|
});
|
|
458
|
-
|
|
482
|
+
peer.activeDiscovery = {
|
|
459
483
|
type: requestedDiscoveryType,
|
|
460
484
|
promises: discoveryPromises,
|
|
461
485
|
stopTimerFunc,
|
|
462
486
|
mdnsClient: mdnsScanner
|
|
463
|
-
}
|
|
487
|
+
};
|
|
464
488
|
return await (0, import_general.anyPromise)(discoveryPromises).finally(() => {
|
|
465
|
-
|
|
489
|
+
peer.activeDiscovery = void 0;
|
|
466
490
|
});
|
|
467
491
|
}
|
|
468
492
|
async #reconnectKnownAddress(address, operationalAddress, discoveryData, options) {
|
|
@@ -474,40 +498,22 @@ class PeerSet {
|
|
|
474
498
|
logger.debug(
|
|
475
499
|
`Resuming connection to ${(0, import_PeerAddress.PeerAddress)(address)} at ${ip}:${port}${expectedProcessingTime !== void 0 ? ` with expected processing time of ${import_general.Duration.format(expectedProcessingTime)}` : ""}`
|
|
476
500
|
);
|
|
477
|
-
const
|
|
501
|
+
const session = await this.#pair(address, operationalAddress, discoveryData, options);
|
|
478
502
|
await this.#addOrUpdatePeer(address, operationalAddress);
|
|
479
|
-
return
|
|
503
|
+
return session;
|
|
480
504
|
} catch (error) {
|
|
481
|
-
if (error instanceof import_general.NoResponseTimeoutError) {
|
|
505
|
+
if (error instanceof import_general.NoResponseTimeoutError || error instanceof import_SecureChannelMessenger.ChannelStatusResponseError) {
|
|
482
506
|
logger.debug(
|
|
483
507
|
`Failed to resume connection to ${address} connection with ${ip}:${port}, discovering the node now:`,
|
|
484
508
|
error.message ? error.message : error
|
|
485
509
|
);
|
|
486
|
-
await this.#sessions.
|
|
510
|
+
await this.#sessions.handlePeerLoss(address, startTime);
|
|
487
511
|
return void 0;
|
|
488
512
|
} else {
|
|
489
513
|
throw error;
|
|
490
514
|
}
|
|
491
515
|
}
|
|
492
516
|
}
|
|
493
|
-
async #createGroupChannel(address) {
|
|
494
|
-
const groupId = import_types.GroupId.fromNodeId(address.nodeId);
|
|
495
|
-
import_types.GroupId.assertGroupId(groupId);
|
|
496
|
-
const multicastAddress = this.#sessions.fabricFor(address).groups.multicastAddressFor(groupId);
|
|
497
|
-
const operationalInterface = this.#transports.interfaceFor(import_general.ChannelType.UDP, multicastAddress);
|
|
498
|
-
if (operationalInterface === void 0) {
|
|
499
|
-
throw new import_ControllerDiscovery.PairRetransmissionLimitReachedError(`IPv6 interface not initialized`);
|
|
500
|
-
}
|
|
501
|
-
const operationalChannel = await operationalInterface.openChannel({
|
|
502
|
-
type: import_general.ChannelType.UDP,
|
|
503
|
-
ip: multicastAddress,
|
|
504
|
-
port: import_general.STANDARD_MATTER_PORT
|
|
505
|
-
});
|
|
506
|
-
const session = this.#sessions.groupSessionForAddress(address);
|
|
507
|
-
const channel = new import_MessageChannel.MessageChannel(operationalChannel, session);
|
|
508
|
-
await this.#channels.setChannel(address, channel);
|
|
509
|
-
return channel;
|
|
510
|
-
}
|
|
511
517
|
/** Pair with an operational device (already commissioned) and establish a CASE session. */
|
|
512
518
|
async #pair(address, operationalServerAddress, discoveryData, options) {
|
|
513
519
|
logger.debug(`Pair with ${address} at ${import_general.ServerAddress.urlFor(operationalServerAddress)}`);
|
|
@@ -521,7 +527,8 @@ class PeerSet {
|
|
|
521
527
|
}
|
|
522
528
|
const operationalChannel = await operationalInterface.openChannel(operationalServerAddress);
|
|
523
529
|
const { sessionParameters } = this.#sessions.findResumptionRecordByAddress(address) ?? {};
|
|
524
|
-
const
|
|
530
|
+
const unsecuredSession = this.#sessions.createUnsecuredSession({
|
|
531
|
+
channel: operationalChannel,
|
|
525
532
|
// Use the session parameters from MDNS announcements when available and rest is assumed to be fallbacks
|
|
526
533
|
sessionParameters: {
|
|
527
534
|
...sessionParameters,
|
|
@@ -532,26 +539,19 @@ class PeerSet {
|
|
|
532
539
|
isInitiator: true
|
|
533
540
|
});
|
|
534
541
|
try {
|
|
535
|
-
|
|
536
|
-
new import_MessageChannel.MessageChannel(operationalChannel, unsecureSession),
|
|
537
|
-
address,
|
|
538
|
-
options
|
|
539
|
-
);
|
|
540
|
-
const channel = new import_MessageChannel.MessageChannel(operationalChannel, operationalSecureSession);
|
|
541
|
-
await this.#channels.setChannel(address, channel);
|
|
542
|
-
return channel;
|
|
542
|
+
return await this.#doCasePair(unsecuredSession, address, options);
|
|
543
543
|
} catch (error) {
|
|
544
544
|
import_general.NoResponseTimeoutError.accept(error);
|
|
545
545
|
throw new import_ControllerDiscovery.PairRetransmissionLimitReachedError(error.message);
|
|
546
546
|
} finally {
|
|
547
|
-
await
|
|
547
|
+
await unsecuredSession.initiateClose();
|
|
548
548
|
}
|
|
549
549
|
}
|
|
550
|
-
async #doCasePair(
|
|
550
|
+
async #doCasePair(paseSession, address, options) {
|
|
551
551
|
const fabric = this.#sessions.fabricFor(address);
|
|
552
552
|
let exchange;
|
|
553
553
|
try {
|
|
554
|
-
exchange = this.#exchanges.
|
|
554
|
+
exchange = this.#exchanges.initiateExchangeForSession(paseSession, import_types.SECURE_CHANNEL_PROTOCOL_ID);
|
|
555
555
|
const { session, resumed } = await this.#caseClient.pair(exchange, fabric, address.nodeId, options);
|
|
556
556
|
if (!resumed) {
|
|
557
557
|
this.#nodeCachedData.delete(address);
|
|
@@ -564,7 +564,7 @@ class PeerSet {
|
|
|
564
564
|
logger.info(
|
|
565
565
|
`Case client: Resumption record seems outdated for Fabric ${import_types.NodeId.toHexString(fabric.nodeId)} (index ${fabric.fabricIndex}) and PeerNode ${import_types.NodeId.toHexString(address.nodeId)}. Retrying pairing without resumption...`
|
|
566
566
|
);
|
|
567
|
-
return await this.#doCasePair(
|
|
567
|
+
return await this.#doCasePair(paseSession, address, options);
|
|
568
568
|
}
|
|
569
569
|
}
|
|
570
570
|
throw error;
|
|
@@ -591,22 +591,21 @@ class PeerSet {
|
|
|
591
591
|
return discoveredAddresses?.addresses[0];
|
|
592
592
|
}
|
|
593
593
|
async #addOrUpdatePeer(address, operationalServerAddress, discoveryData) {
|
|
594
|
-
let peer = this
|
|
594
|
+
let peer = this.get(address);
|
|
595
595
|
if (peer === void 0) {
|
|
596
|
-
peer = { address, dataStore: await this.#store.createNodeStore(address) };
|
|
596
|
+
peer = new import_Peer.Peer({ address, dataStore: await this.#store.createNodeStore(address) }, this.#peerContext);
|
|
597
597
|
this.#peers.add(peer);
|
|
598
598
|
}
|
|
599
|
-
peer.operationalAddress = operationalServerAddress ?? peer.operationalAddress;
|
|
599
|
+
peer.descriptor.operationalAddress = operationalServerAddress ?? peer.descriptor.operationalAddress;
|
|
600
600
|
if (discoveryData !== void 0) {
|
|
601
|
-
peer.discoveryData = {
|
|
602
|
-
...peer.discoveryData,
|
|
601
|
+
peer.descriptor.discoveryData = {
|
|
602
|
+
...peer.descriptor.discoveryData,
|
|
603
603
|
...discoveryData
|
|
604
604
|
};
|
|
605
605
|
}
|
|
606
|
-
|
|
607
|
-
if (peer.operationalAddress !== void 0 && this.#runningPeerDiscoveries.has(address)) {
|
|
606
|
+
if (peer.descriptor.operationalAddress !== void 0 && peer.activeDiscovery) {
|
|
608
607
|
logger.info(`Found ${address} during discovery, cancel discovery.`);
|
|
609
|
-
const { mdnsClient: mdnsScanner } =
|
|
608
|
+
const { mdnsClient: mdnsScanner } = peer.activeDiscovery ?? {};
|
|
610
609
|
mdnsScanner?.cancelOperationalDeviceDiscovery(this.#sessions.fabricFor(address), address.nodeId, true);
|
|
611
610
|
}
|
|
612
611
|
}
|
|
@@ -614,7 +613,7 @@ class PeerSet {
|
|
|
614
613
|
return this.#addOrUpdatePeer(address, operationalServerAddress, discoveryData);
|
|
615
614
|
}
|
|
616
615
|
#getLastOperationalAddress(address) {
|
|
617
|
-
return this
|
|
616
|
+
return this.get(address)?.descriptor.operationalAddress;
|
|
618
617
|
}
|
|
619
618
|
#handleFirstRetry(session) {
|
|
620
619
|
if (!session.isSecure || session.fabric === void 0) {
|
|
@@ -625,15 +624,16 @@ class PeerSet {
|
|
|
625
624
|
return;
|
|
626
625
|
}
|
|
627
626
|
const address = fabric.addressOf(nodeId);
|
|
628
|
-
|
|
627
|
+
const peer = this.for(address);
|
|
628
|
+
if (peer.activeDiscovery) {
|
|
629
629
|
return;
|
|
630
630
|
}
|
|
631
|
-
|
|
631
|
+
peer.activeDiscovery = { type: 1 /* RetransmissionDiscovery */ };
|
|
632
632
|
this.#scanners.scannerFor(import_general.ChannelType.UDP)?.findOperationalDevice(fabric, nodeId, RETRANSMISSION_DISCOVERY_TIMEOUT, true).catch((error) => {
|
|
633
633
|
logger.error(`Failed to discover ${address} after resubmission started.`, error);
|
|
634
634
|
}).finally(() => {
|
|
635
|
-
if (
|
|
636
|
-
|
|
635
|
+
if (peer.activeDiscovery?.type === 1 /* RetransmissionDiscovery */) {
|
|
636
|
+
peer.activeDiscovery = void 0;
|
|
637
637
|
}
|
|
638
638
|
});
|
|
639
639
|
}
|