@matter/protocol 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250812-285b75d83
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/advertisement/Advertisement.d.ts +119 -0
- package/dist/cjs/advertisement/Advertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/Advertisement.js +267 -0
- package/dist/cjs/advertisement/Advertisement.js.map +6 -0
- package/dist/cjs/advertisement/Advertiser.d.ts +50 -0
- package/dist/cjs/advertisement/Advertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/Advertiser.js +81 -0
- package/dist/cjs/advertisement/Advertiser.js.map +6 -0
- package/dist/cjs/advertisement/CommissioningMode.d.ts +11 -0
- package/dist/cjs/advertisement/CommissioningMode.d.ts.map +1 -0
- package/dist/cjs/advertisement/CommissioningMode.js +35 -0
- package/dist/cjs/advertisement/CommissioningMode.js.map +6 -0
- package/dist/cjs/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
- package/dist/cjs/advertisement/PairingHintBitmap.d.ts.map +1 -0
- package/dist/cjs/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +5 -12
- package/dist/cjs/advertisement/PairingHintBitmap.js.map +6 -0
- package/dist/cjs/advertisement/ServiceDescription.d.ts +70 -0
- package/dist/cjs/advertisement/ServiceDescription.d.ts.map +1 -0
- package/dist/cjs/advertisement/ServiceDescription.js +61 -0
- package/dist/cjs/advertisement/ServiceDescription.js.map +6 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts +16 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.js +85 -0
- package/dist/cjs/advertisement/ble/BleAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts +66 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.js +83 -0
- package/dist/cjs/advertisement/ble/BleAdvertiser.js.map +6 -0
- package/dist/cjs/advertisement/ble/index.d.ts +8 -0
- package/dist/cjs/advertisement/ble/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/ble/index.js +25 -0
- package/dist/cjs/advertisement/ble/index.js.map +6 -0
- package/dist/cjs/advertisement/index.d.ts +13 -0
- package/dist/cjs/advertisement/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/index.js +30 -0
- package/dist/cjs/advertisement/index.js.map +6 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js +104 -0
- package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js +70 -0
- package/dist/cjs/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js +145 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js +166 -0
- package/dist/cjs/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js +55 -0
- package/dist/cjs/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
- package/dist/cjs/advertisement/mdns/index.d.ts +11 -0
- package/dist/cjs/advertisement/mdns/index.d.ts.map +1 -0
- package/dist/cjs/advertisement/mdns/index.js +28 -0
- package/dist/cjs/advertisement/mdns/index.js.map +6 -0
- package/dist/cjs/ble/Ble.d.ts +7 -5
- package/dist/cjs/ble/Ble.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.js.map +1 -1
- package/dist/cjs/ble/BleConsts.d.ts +2 -1
- package/dist/cjs/ble/BleConsts.d.ts.map +1 -1
- package/dist/cjs/ble/BleConsts.js +3 -1
- package/dist/cjs/ble/BleConsts.js.map +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts.map +1 -1
- package/dist/cjs/codec/BtpCodec.js +4 -4
- package/dist/cjs/codec/BtpCodec.js.map +1 -1
- package/dist/cjs/common/Scanner.d.ts +1 -25
- package/dist/cjs/common/Scanner.d.ts.map +1 -1
- package/dist/cjs/common/Scanner.js +1 -18
- package/dist/cjs/common/Scanner.js.map +1 -1
- package/dist/cjs/common/SupportedTransportsBitmap.d.ts +33 -0
- package/dist/cjs/common/SupportedTransportsBitmap.d.ts.map +1 -0
- package/dist/cjs/common/SupportedTransportsBitmap.js +45 -0
- package/dist/cjs/common/SupportedTransportsBitmap.js.map +6 -0
- package/dist/cjs/common/index.d.ts +1 -1
- package/dist/cjs/common/index.d.ts.map +1 -1
- package/dist/cjs/common/index.js +1 -1
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +1 -0
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +7 -0
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/{esm/mdns/MdnsScanner.d.ts → cjs/mdns/MdnsClient.d.ts} +11 -14
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -0
- package/dist/cjs/mdns/{MdnsScanner.js → MdnsClient.js} +35 -90
- package/dist/cjs/mdns/MdnsClient.js.map +6 -0
- package/dist/cjs/mdns/MdnsConsts.d.ts +11 -2
- package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsConsts.js +31 -4
- package/dist/cjs/mdns/MdnsConsts.js.map +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts +13 -22
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +53 -150
- package/dist/cjs/mdns/MdnsServer.js.map +2 -2
- package/dist/cjs/mdns/MdnsService.d.ts +4 -5
- package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsService.js +22 -23
- package/dist/cjs/mdns/MdnsService.js.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.d.ts +32 -0
- package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -0
- package/dist/cjs/mdns/MdnsSocket.js +144 -0
- package/dist/cjs/mdns/MdnsSocket.js.map +6 -0
- package/dist/cjs/mdns/index.d.ts +2 -3
- package/dist/cjs/mdns/index.d.ts.map +1 -1
- package/dist/cjs/mdns/index.js +2 -3
- package/dist/cjs/mdns/index.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +2 -2
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.d.ts +3 -3
- package/dist/cjs/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js.map +1 -1
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +10 -5
- package/dist/cjs/peer/PeerSet.js.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts +23 -18
- package/dist/cjs/protocol/DeviceAdvertiser.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceAdvertiser.js +130 -129
- package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts +0 -1
- package/dist/cjs/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +44 -44
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +1 -1
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +6 -8
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/protocol/ProtocolHandler.d.ts +4 -0
- package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.d.ts +8 -4
- package/dist/cjs/protocol/ProtocolStatusMessage.d.ts.map +1 -1
- package/dist/cjs/protocol/ProtocolStatusMessage.js +23 -8
- package/dist/cjs/protocol/ProtocolStatusMessage.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelMessenger.js +2 -2
- package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.js +1 -1
- package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +3 -3
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -1
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js +3 -3
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts +1 -0
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +3 -0
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/Session.d.ts +3 -33
- package/dist/cjs/session/Session.d.ts.map +1 -1
- package/dist/cjs/session/Session.js +4 -9
- package/dist/cjs/session/Session.js.map +1 -1
- package/dist/cjs/session/SessionIntervals.d.ts +36 -0
- package/dist/cjs/session/SessionIntervals.d.ts.map +1 -0
- package/dist/cjs/session/SessionIntervals.js +51 -0
- package/dist/cjs/session/SessionIntervals.js.map +6 -0
- package/dist/cjs/session/SessionManager.d.ts +1 -1
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +11 -12
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.js +2 -2
- package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
- package/dist/esm/advertisement/Advertisement.d.ts +119 -0
- package/dist/esm/advertisement/Advertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/Advertisement.js +247 -0
- package/dist/esm/advertisement/Advertisement.js.map +6 -0
- package/dist/esm/advertisement/Advertiser.d.ts +50 -0
- package/dist/esm/advertisement/Advertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/Advertiser.js +61 -0
- package/dist/esm/advertisement/Advertiser.js.map +6 -0
- package/dist/esm/advertisement/CommissioningMode.d.ts +11 -0
- package/dist/esm/advertisement/CommissioningMode.d.ts.map +1 -0
- package/dist/esm/advertisement/CommissioningMode.js +15 -0
- package/dist/esm/advertisement/CommissioningMode.js.map +6 -0
- package/dist/esm/{common/InstanceBroadcaster.d.ts → advertisement/PairingHintBitmap.d.ts} +3 -69
- package/dist/esm/advertisement/PairingHintBitmap.d.ts.map +1 -0
- package/dist/esm/{common/InstanceBroadcaster.js → advertisement/PairingHintBitmap.js} +2 -9
- package/dist/esm/{common/InstanceBroadcaster.js.map → advertisement/PairingHintBitmap.js.map} +3 -3
- package/dist/esm/advertisement/ServiceDescription.d.ts +70 -0
- package/dist/esm/advertisement/ServiceDescription.d.ts.map +1 -0
- package/dist/esm/advertisement/ServiceDescription.js +41 -0
- package/dist/esm/advertisement/ServiceDescription.js.map +6 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts +16 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.js +65 -0
- package/dist/esm/advertisement/ble/BleAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts +66 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.js +63 -0
- package/dist/esm/advertisement/ble/BleAdvertiser.js.map +6 -0
- package/dist/esm/advertisement/ble/index.d.ts +8 -0
- package/dist/esm/advertisement/ble/index.d.ts.map +1 -0
- package/dist/esm/advertisement/ble/index.js +8 -0
- package/dist/esm/advertisement/ble/index.js.map +6 -0
- package/dist/esm/advertisement/index.d.ts +13 -0
- package/dist/esm/advertisement/index.d.ts.map +1 -0
- package/dist/esm/advertisement/index.js +13 -0
- package/dist/esm/advertisement/index.js.map +6 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts +21 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js +95 -0
- package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts +20 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js +54 -0
- package/dist/esm/advertisement/mdns/CommissionerMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts +40 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js +125 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts +99 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js +146 -0
- package/dist/esm/advertisement/mdns/MdnsAdvertiser.js.map +6 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts +18 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js +40 -0
- package/dist/esm/advertisement/mdns/OperationalMdnsAdvertisement.js.map +6 -0
- package/dist/esm/advertisement/mdns/index.d.ts +11 -0
- package/dist/esm/advertisement/mdns/index.d.ts.map +1 -0
- package/dist/esm/advertisement/mdns/index.js +11 -0
- package/dist/esm/advertisement/mdns/index.js.map +6 -0
- package/dist/esm/ble/Ble.d.ts +7 -5
- package/dist/esm/ble/Ble.d.ts.map +1 -1
- package/dist/esm/ble/Ble.js.map +1 -1
- package/dist/esm/ble/BleConsts.d.ts +2 -1
- package/dist/esm/ble/BleConsts.d.ts.map +1 -1
- package/dist/esm/ble/BleConsts.js +3 -1
- package/dist/esm/ble/BleConsts.js.map +1 -1
- package/dist/esm/codec/BtpCodec.d.ts +1 -1
- package/dist/esm/codec/BtpCodec.d.ts.map +1 -1
- package/dist/esm/codec/BtpCodec.js +4 -4
- package/dist/esm/codec/BtpCodec.js.map +1 -1
- package/dist/esm/common/Scanner.d.ts +1 -25
- package/dist/esm/common/Scanner.d.ts.map +1 -1
- package/dist/esm/common/Scanner.js +1 -18
- package/dist/esm/common/Scanner.js.map +1 -1
- package/dist/esm/common/SupportedTransportsBitmap.d.ts +33 -0
- package/dist/esm/common/SupportedTransportsBitmap.d.ts.map +1 -0
- package/dist/esm/common/SupportedTransportsBitmap.js +25 -0
- package/dist/esm/common/SupportedTransportsBitmap.js.map +6 -0
- package/dist/esm/common/index.d.ts +1 -1
- package/dist/esm/common/index.d.ts.map +1 -1
- package/dist/esm/common/index.js +1 -1
- package/dist/esm/fabric/Fabric.d.ts +1 -0
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +7 -0
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/{cjs/mdns/MdnsScanner.d.ts → esm/mdns/MdnsClient.d.ts} +11 -14
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -0
- package/dist/esm/mdns/{MdnsScanner.js → MdnsClient.js} +34 -92
- package/dist/esm/mdns/MdnsClient.js.map +6 -0
- package/dist/esm/mdns/MdnsConsts.d.ts +11 -2
- package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsConsts.js +31 -4
- package/dist/esm/mdns/MdnsConsts.js.map +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts +13 -22
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +55 -155
- package/dist/esm/mdns/MdnsServer.js.map +2 -2
- package/dist/esm/mdns/MdnsService.d.ts +4 -5
- package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsService.js +22 -24
- package/dist/esm/mdns/MdnsService.js.map +1 -1
- package/dist/esm/mdns/MdnsSocket.d.ts +32 -0
- package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -0
- package/dist/esm/mdns/MdnsSocket.js +133 -0
- package/dist/esm/mdns/MdnsSocket.js.map +6 -0
- package/dist/esm/mdns/index.d.ts +2 -3
- package/dist/esm/mdns/index.d.ts.map +1 -1
- package/dist/esm/mdns/index.js +2 -3
- package/dist/esm/mdns/index.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +2 -2
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.d.ts +3 -3
- package/dist/esm/peer/ControllerDiscovery.d.ts.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js.map +1 -1
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +10 -5
- package/dist/esm/peer/PeerSet.js.map +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.d.ts +23 -18
- package/dist/esm/protocol/DeviceAdvertiser.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceAdvertiser.js +131 -139
- package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts +0 -1
- package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +47 -47
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +1 -1
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +6 -12
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/protocol/ProtocolHandler.d.ts +4 -0
- package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.d.ts +8 -4
- package/dist/esm/protocol/ProtocolStatusMessage.d.ts.map +1 -1
- package/dist/esm/protocol/ProtocolStatusMessage.js +24 -9
- package/dist/esm/protocol/ProtocolStatusMessage.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelMessenger.js +3 -3
- 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/securechannel/SecureChannelStatusMessageSchema.d.ts +3 -3
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts.map +1 -1
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js +3 -3
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts +1 -0
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +3 -0
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/Session.d.ts +3 -33
- package/dist/esm/session/Session.d.ts.map +1 -1
- package/dist/esm/session/Session.js +4 -9
- package/dist/esm/session/Session.js.map +1 -1
- package/dist/esm/session/SessionIntervals.d.ts +36 -0
- package/dist/esm/session/SessionIntervals.d.ts.map +1 -0
- package/dist/esm/session/SessionIntervals.js +31 -0
- package/dist/esm/session/SessionIntervals.js.map +6 -0
- package/dist/esm/session/SessionManager.d.ts +1 -1
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +10 -14
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/pase/PaseMessages.js +1 -1
- package/package.json +6 -6
- package/src/advertisement/Advertisement.ts +348 -0
- package/src/advertisement/Advertiser.ts +83 -0
- package/src/advertisement/CommissioningMode.ts +11 -0
- package/src/{common/InstanceBroadcaster.ts → advertisement/PairingHintBitmap.ts} +1 -92
- package/src/advertisement/ServiceDescription.ts +110 -0
- package/src/advertisement/ble/BleAdvertisement.ts +90 -0
- package/src/advertisement/ble/BleAdvertiser.ts +116 -0
- package/src/advertisement/ble/index.ts +8 -0
- package/src/advertisement/index.ts +13 -0
- package/src/advertisement/mdns/CommissionableMdnsAdvertisement.ts +118 -0
- package/src/advertisement/mdns/CommissionerMdnsAdvertisement.ts +73 -0
- package/src/advertisement/mdns/MdnsAdvertisement.ts +167 -0
- package/src/advertisement/mdns/MdnsAdvertiser.ts +248 -0
- package/src/advertisement/mdns/OperationalMdnsAdvertisement.ts +50 -0
- package/src/advertisement/mdns/index.ts +11 -0
- package/src/ble/Ble.ts +8 -5
- package/src/ble/BleConsts.ts +2 -1
- package/src/codec/BtpCodec.ts +4 -3
- package/src/common/Scanner.ts +1 -17
- package/src/common/SupportedTransportsBitmap.ts +25 -0
- package/src/common/index.ts +1 -1
- package/src/fabric/Fabric.ts +8 -0
- package/src/index.ts +1 -0
- package/src/mdns/{MdnsScanner.ts → MdnsClient.ts} +34 -103
- package/src/mdns/MdnsConsts.ts +27 -2
- package/src/mdns/MdnsServer.ts +76 -198
- package/src/mdns/MdnsService.ts +24 -27
- package/src/mdns/MdnsSocket.ts +179 -0
- package/src/mdns/index.ts +2 -3
- package/src/peer/ControllerCommissioner.ts +2 -2
- package/src/peer/ControllerDiscovery.ts +3 -3
- package/src/peer/PeerSet.ts +15 -9
- package/src/protocol/DeviceAdvertiser.ts +161 -151
- package/src/protocol/DeviceCommissioner.ts +65 -75
- package/src/protocol/ExchangeManager.ts +1 -1
- package/src/protocol/MessageExchange.ts +8 -14
- package/src/protocol/ProtocolHandler.ts +7 -0
- package/src/protocol/ProtocolStatusMessage.ts +26 -10
- package/src/securechannel/SecureChannelMessenger.ts +3 -3
- package/src/securechannel/SecureChannelProtocol.ts +2 -2
- package/src/securechannel/SecureChannelStatusMessageSchema.ts +3 -3
- package/src/session/NodeSession.ts +4 -0
- package/src/session/Session.ts +6 -42
- package/src/session/SessionIntervals.ts +57 -0
- package/src/session/SessionManager.ts +9 -13
- package/src/session/pase/PaseMessages.ts +1 -1
- package/dist/cjs/common/InstanceBroadcaster.d.ts.map +0 -1
- package/dist/cjs/common/InstanceBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts +0 -34
- package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsBroadcaster.js +0 -365
- package/dist/cjs/mdns/MdnsBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js +0 -87
- package/dist/cjs/mdns/MdnsInstanceBroadcaster.js.map +0 -6
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +0 -1
- package/dist/cjs/mdns/MdnsScanner.js.map +0 -6
- package/dist/esm/common/InstanceBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsBroadcaster.d.ts +0 -34
- package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsBroadcaster.js +0 -378
- package/dist/esm/mdns/MdnsBroadcaster.js.map +0 -6
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts +0 -28
- package/dist/esm/mdns/MdnsInstanceBroadcaster.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js +0 -67
- package/dist/esm/mdns/MdnsInstanceBroadcaster.js.map +0 -6
- package/dist/esm/mdns/MdnsScanner.d.ts.map +0 -1
- package/dist/esm/mdns/MdnsScanner.js.map +0 -6
- package/src/mdns/MdnsBroadcaster.ts +0 -451
- package/src/mdns/MdnsInstanceBroadcaster.ts +0 -88
|
@@ -4,16 +4,25 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { VendorId } from "#types";
|
|
7
|
+
export declare const MDNS_BROADCAST_IPV4 = "224.0.0.251";
|
|
8
|
+
export declare const MDNS_BROADCAST_IPV6 = "ff02::fb";
|
|
9
|
+
export declare const MDNS_BROADCAST_PORT = 5353;
|
|
7
10
|
export declare const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
|
|
8
11
|
export declare const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
|
|
9
12
|
export declare const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
|
|
10
13
|
export declare const MATTER_SERVICE_QNAME = "_matter._tcp.local";
|
|
14
|
+
export declare const DEFAULT_PAIRING_HINT: {
|
|
15
|
+
powerCycle: boolean;
|
|
16
|
+
deviceManual: boolean;
|
|
17
|
+
};
|
|
18
|
+
export declare const PAIRING_HINTS_REQUIRING_INSTRUCTION: ("powerCycle" | "deviceManufacturerUrl" | "administrator" | "settingsMenuOnNode" | "customInstruction" | "deviceManual" | "pressResetButton" | "pressResetButtonWithApplicationOfPower" | "pressRestButtonForNumberOfSeconds" | "pressResetButtonUntilLightBlinks" | "pressResetButtonForNumberOfSecondsWithApplicationOfPower" | "pressResetButtonUntilLightBlinksWithApplicationOfPower" | "pressResetButtonNumberOfTimes" | "pressSetupButton" | "pressSetupButtonWithApplicationOfPower" | "pressSetupButtonForNumberOfSeconds" | "pressSetupButtonUntilLightBlinks" | "pressSetupButtonForNumberOfSecondsWithApplicationOfPower" | "pressSetupButtonUntilLightBlinksWithApplicationOfPower" | "pressSetupButtonNumberOfTimes")[];
|
|
11
19
|
export declare const getFabricQname: (operationalIdString: string) => string;
|
|
12
|
-
export declare const
|
|
20
|
+
export declare const getOperationalDeviceQname: (operationalIdString: string, nodeIdString: string) => string;
|
|
13
21
|
export declare const getVendorQname: (vendorId: VendorId) => string;
|
|
14
22
|
export declare const getDeviceTypeQname: (deviceType: number) => string;
|
|
15
23
|
export declare const getShortDiscriminatorQname: (shortDiscriminator: number) => string;
|
|
16
24
|
export declare const getLongDiscriminatorQname: (longDiscriminator: number) => string;
|
|
17
25
|
export declare const getCommissioningModeQname: () => string;
|
|
18
|
-
export declare const
|
|
26
|
+
export declare const getCommissionableDeviceQname: (instanceId: string) => string;
|
|
27
|
+
export declare const getCommissionerDeviceQname: (instanceId: string) => string;
|
|
19
28
|
//# sourceMappingURL=MdnsConsts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsConsts.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsConsts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"MdnsConsts.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsConsts.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAC9C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AAExC,eAAO,MAAM,uBAAuB,iCAAiC,CAAC;AACtE,eAAO,MAAM,+BAA+B,wBAAwB,CAAC;AACrE,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AACvE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AAEzD,eAAO,MAAM,oBAAoB;;;CAGhC,CAAC;AAEF,eAAO,MAAM,mCAAmC,usBAY/C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,qBAAqB,MAAM,WAA4D,CAAC;AACvH,eAAO,MAAM,yBAAyB,GAAI,qBAAqB,MAAM,EAAE,cAAc,MAAM,WACvB,CAAC;AACrE,eAAO,MAAM,cAAc,GAAI,UAAU,QAAQ,WAA4D,CAAC;AAC9G,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,WAA8D,CAAC;AACpH,eAAO,MAAM,0BAA0B,GAAI,oBAAoB,MAAM,WACA,CAAC;AACtE,eAAO,MAAM,yBAAyB,GAAI,mBAAmB,MAAM,WACC,CAAC;AACrE,eAAO,MAAM,yBAAyB,cAAsD,CAAC;AAC7F,eAAO,MAAM,4BAA4B,GAAI,YAAY,MAAM,WAAuD,CAAC;AACvH,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,WAAyD,CAAC"}
|
|
@@ -18,16 +18,22 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var MdnsConsts_exports = {};
|
|
20
20
|
__export(MdnsConsts_exports, {
|
|
21
|
+
DEFAULT_PAIRING_HINT: () => DEFAULT_PAIRING_HINT,
|
|
21
22
|
MATTER_COMMISSIONER_SERVICE_QNAME: () => MATTER_COMMISSIONER_SERVICE_QNAME,
|
|
22
23
|
MATTER_COMMISSION_SERVICE_QNAME: () => MATTER_COMMISSION_SERVICE_QNAME,
|
|
23
24
|
MATTER_SERVICE_QNAME: () => MATTER_SERVICE_QNAME,
|
|
25
|
+
MDNS_BROADCAST_IPV4: () => MDNS_BROADCAST_IPV4,
|
|
26
|
+
MDNS_BROADCAST_IPV6: () => MDNS_BROADCAST_IPV6,
|
|
27
|
+
MDNS_BROADCAST_PORT: () => MDNS_BROADCAST_PORT,
|
|
28
|
+
PAIRING_HINTS_REQUIRING_INSTRUCTION: () => PAIRING_HINTS_REQUIRING_INSTRUCTION,
|
|
24
29
|
SERVICE_DISCOVERY_QNAME: () => SERVICE_DISCOVERY_QNAME,
|
|
30
|
+
getCommissionableDeviceQname: () => getCommissionableDeviceQname,
|
|
31
|
+
getCommissionerDeviceQname: () => getCommissionerDeviceQname,
|
|
25
32
|
getCommissioningModeQname: () => getCommissioningModeQname,
|
|
26
|
-
getDeviceInstanceQname: () => getDeviceInstanceQname,
|
|
27
|
-
getDeviceMatterQname: () => getDeviceMatterQname,
|
|
28
33
|
getDeviceTypeQname: () => getDeviceTypeQname,
|
|
29
34
|
getFabricQname: () => getFabricQname,
|
|
30
35
|
getLongDiscriminatorQname: () => getLongDiscriminatorQname,
|
|
36
|
+
getOperationalDeviceQname: () => getOperationalDeviceQname,
|
|
31
37
|
getShortDiscriminatorQname: () => getShortDiscriminatorQname,
|
|
32
38
|
getVendorQname: () => getVendorQname
|
|
33
39
|
});
|
|
@@ -37,16 +43,37 @@ module.exports = __toCommonJS(MdnsConsts_exports);
|
|
|
37
43
|
* Copyright 2022-2025 Matter.js Authors
|
|
38
44
|
* SPDX-License-Identifier: Apache-2.0
|
|
39
45
|
*/
|
|
46
|
+
const MDNS_BROADCAST_IPV4 = "224.0.0.251";
|
|
47
|
+
const MDNS_BROADCAST_IPV6 = "ff02::fb";
|
|
48
|
+
const MDNS_BROADCAST_PORT = 5353;
|
|
40
49
|
const SERVICE_DISCOVERY_QNAME = "_services._dns-sd._udp.local";
|
|
41
50
|
const MATTER_COMMISSION_SERVICE_QNAME = "_matterc._udp.local";
|
|
42
51
|
const MATTER_COMMISSIONER_SERVICE_QNAME = "_matterd._udp.local";
|
|
43
52
|
const MATTER_SERVICE_QNAME = "_matter._tcp.local";
|
|
53
|
+
const DEFAULT_PAIRING_HINT = {
|
|
54
|
+
powerCycle: true,
|
|
55
|
+
deviceManual: true
|
|
56
|
+
};
|
|
57
|
+
const PAIRING_HINTS_REQUIRING_INSTRUCTION = Array(
|
|
58
|
+
"customInstruction",
|
|
59
|
+
"pressRestButtonForNumberOfSeconds",
|
|
60
|
+
"pressResetButtonUntilLightBlinks",
|
|
61
|
+
"pressResetButtonForNumberOfSecondsWithApplicationOfPower",
|
|
62
|
+
"pressResetButtonUntilLightBlinksWithApplicationOfPower",
|
|
63
|
+
"pressResetButtonNumberOfTimes",
|
|
64
|
+
"pressSetupButtonForNumberOfSeconds",
|
|
65
|
+
"pressSetupButtonUntilLightBlinks",
|
|
66
|
+
"pressSetupButtonForNumberOfSecondsWithApplicationOfPower",
|
|
67
|
+
"pressSetupButtonUntilLightBlinksWithApplicationOfPower",
|
|
68
|
+
"pressSetupButtonNumberOfTimes"
|
|
69
|
+
);
|
|
44
70
|
const getFabricQname = (operationalIdString) => `_I${operationalIdString}._sub.${MATTER_SERVICE_QNAME}`;
|
|
45
|
-
const
|
|
71
|
+
const getOperationalDeviceQname = (operationalIdString, nodeIdString) => `${operationalIdString}-${nodeIdString}.${MATTER_SERVICE_QNAME}`;
|
|
46
72
|
const getVendorQname = (vendorId) => `_V${vendorId}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
47
73
|
const getDeviceTypeQname = (deviceType) => `_T${deviceType}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
48
74
|
const getShortDiscriminatorQname = (shortDiscriminator) => `_S${shortDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
49
75
|
const getLongDiscriminatorQname = (longDiscriminator) => `_L${longDiscriminator}._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
50
76
|
const getCommissioningModeQname = () => `_CM._sub.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
51
|
-
const
|
|
77
|
+
const getCommissionableDeviceQname = (instanceId) => `${instanceId}.${MATTER_COMMISSION_SERVICE_QNAME}`;
|
|
78
|
+
const getCommissionerDeviceQname = (instanceId) => `${instanceId}.${MATTER_COMMISSIONER_SERVICE_QNAME}`;
|
|
52
79
|
//# sourceMappingURL=MdnsConsts.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mdns/MdnsConsts.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AAE5B,MAAM,0BAA0B;AAChC,MAAM,kCAAkC;AACxC,MAAM,oCAAoC;AAC1C,MAAM,uBAAuB;AAE7B,MAAM,uBAAuB;AAAA,EAChC,YAAY;AAAA,EACZ,cAAc;AAClB;AAEO,MAAM,sCAAsC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ;AAEO,MAAM,iBAAiB,CAAC,wBAAgC,KAAK,mBAAmB,SAAS,oBAAoB;AAC7G,MAAM,4BAA4B,CAAC,qBAA6B,iBACnE,GAAG,mBAAmB,IAAI,YAAY,IAAI,oBAAoB;AAC3D,MAAM,iBAAiB,CAAC,aAAuB,KAAK,QAAQ,SAAS,+BAA+B;AACpG,MAAM,qBAAqB,CAAC,eAAuB,KAAK,UAAU,SAAS,+BAA+B;AAC1G,MAAM,6BAA6B,CAAC,uBACvC,KAAK,kBAAkB,SAAS,+BAA+B;AAC5D,MAAM,4BAA4B,CAAC,sBACtC,KAAK,iBAAiB,SAAS,+BAA+B;AAC3D,MAAM,4BAA4B,MAAM,YAAY,+BAA+B;AACnF,MAAM,+BAA+B,CAAC,eAAuB,GAAG,UAAU,IAAI,+BAA+B;AAC7G,MAAM,6BAA6B,CAAC,eAAuB,GAAG,UAAU,IAAI,iCAAiC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,31 +3,22 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { DnsRecord,
|
|
7
|
-
|
|
8
|
-
export declare const MDNS_BROADCAST_IPV6 = "ff02::fb";
|
|
9
|
-
export declare const MDNS_BROADCAST_PORT = 5353;
|
|
10
|
-
export declare enum AnnouncementType {
|
|
11
|
-
Commissionable = 0,
|
|
12
|
-
Operative = 1
|
|
13
|
-
}
|
|
6
|
+
import { DnsRecord, NetworkInterfaceDetails } from "#general";
|
|
7
|
+
import { MdnsSocket } from "./MdnsSocket.js";
|
|
14
8
|
export declare class MdnsServer {
|
|
15
9
|
#private;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}): Promise<MdnsServer>;
|
|
20
|
-
constructor(network: Network, multicastServer: UdpMulticastServer, netInterface: string | undefined);
|
|
10
|
+
constructor(socket: MdnsSocket);
|
|
11
|
+
get network(): import("#general").Network;
|
|
12
|
+
get supportsIpv4(): boolean;
|
|
21
13
|
buildDnsRecordKey(record: DnsRecord<any>, netInterface?: string, unicastTarget?: string): string;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
expireAnnouncements(options?: {
|
|
26
|
-
announcedNetPort?: number;
|
|
27
|
-
type?: AnnouncementType;
|
|
28
|
-
forInstance?: string;
|
|
29
|
-
}): Promise<void>;
|
|
30
|
-
setRecordsGenerator(hostPort: number, type: AnnouncementType, generator: (netInterface: string) => Promise<DnsRecord<any>[]>): Promise<void>;
|
|
14
|
+
broadcast(...services: string[]): Promise<void>;
|
|
15
|
+
expireAnnouncements(...services: string[]): Promise<void>;
|
|
16
|
+
setRecordsGenerator(service: string, generator: MdnsServer.RecordGenerator): Promise<void>;
|
|
31
17
|
close(): Promise<void>;
|
|
32
18
|
}
|
|
19
|
+
export declare namespace MdnsServer {
|
|
20
|
+
interface RecordGenerator {
|
|
21
|
+
(intf: string, addrs: NetworkInterfaceDetails): DnsRecord[];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
33
24
|
//# sourceMappingURL=MdnsServer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"MdnsServer.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGH,SAAS,EAKT,uBAAuB,EAG1B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,qBAAa,UAAU;;gBAwBP,MAAM,EAAE,UAAU;IAK9B,IAAI,OAAO,+BAEV;IAED,IAAI,YAAY,YAEf;IAED,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;IAgGjF,SAAS,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAgB/B,mBAAmB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE;IAyBzC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe;IAW1E,KAAK;CAkBd;AAED,yBAAiB,UAAU,CAAC;IACxB,UAAiB,eAAe;QAC5B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,SAAS,EAAE,CAAC;KAC/D;CACJ"}
|
|
@@ -18,10 +18,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var MdnsServer_exports = {};
|
|
20
20
|
__export(MdnsServer_exports, {
|
|
21
|
-
AnnouncementType: () => AnnouncementType,
|
|
22
|
-
MDNS_BROADCAST_IPV4: () => MDNS_BROADCAST_IPV4,
|
|
23
|
-
MDNS_BROADCAST_IPV6: () => MDNS_BROADCAST_IPV6,
|
|
24
|
-
MDNS_BROADCAST_PORT: () => MDNS_BROADCAST_PORT,
|
|
25
21
|
MdnsServer: () => MdnsServer
|
|
26
22
|
});
|
|
27
23
|
module.exports = __toCommonJS(MdnsServer_exports);
|
|
@@ -32,70 +28,43 @@ var import_general = require("#general");
|
|
|
32
28
|
* SPDX-License-Identifier: Apache-2.0
|
|
33
29
|
*/
|
|
34
30
|
const logger = import_general.Logger.get("MdnsServer");
|
|
35
|
-
const MDNS_BROADCAST_IPV4 = "224.0.0.251";
|
|
36
|
-
const MDNS_BROADCAST_IPV6 = "ff02::fb";
|
|
37
|
-
const MDNS_BROADCAST_PORT = 5353;
|
|
38
|
-
var AnnouncementType = /* @__PURE__ */ ((AnnouncementType2) => {
|
|
39
|
-
AnnouncementType2[AnnouncementType2["Commissionable"] = 0] = "Commissionable";
|
|
40
|
-
AnnouncementType2[AnnouncementType2["Operative"] = 1] = "Operative";
|
|
41
|
-
return AnnouncementType2;
|
|
42
|
-
})(AnnouncementType || {});
|
|
43
31
|
class MdnsServer {
|
|
44
|
-
|
|
45
|
-
const { enableIpv4 = true, netInterface } = options ?? {};
|
|
46
|
-
return new MdnsServer(
|
|
47
|
-
network,
|
|
48
|
-
await import_general.UdpMulticastServer.create({
|
|
49
|
-
network,
|
|
50
|
-
netInterface,
|
|
51
|
-
broadcastAddressIpv4: enableIpv4 ? MDNS_BROADCAST_IPV4 : void 0,
|
|
52
|
-
broadcastAddressIpv6: MDNS_BROADCAST_IPV6,
|
|
53
|
-
listeningPort: MDNS_BROADCAST_PORT
|
|
54
|
-
}),
|
|
55
|
-
netInterface
|
|
56
|
-
);
|
|
57
|
-
}
|
|
32
|
+
#observers = new import_general.ObserverGroup();
|
|
58
33
|
#recordsGenerator = /* @__PURE__ */ new Map();
|
|
59
34
|
#records = new import_general.AsyncCache(
|
|
60
35
|
"MDNS discovery",
|
|
61
36
|
async (multicastInterface) => {
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
37
|
+
const serviceRecords = /* @__PURE__ */ new Map();
|
|
38
|
+
const addrs = await this.network.getIpMac(multicastInterface);
|
|
39
|
+
if (addrs === void 0) {
|
|
40
|
+
return serviceRecords;
|
|
41
|
+
}
|
|
42
|
+
for (const [service, generator] of this.#recordsGenerator) {
|
|
43
|
+
serviceRecords.set(service, generator(multicastInterface, addrs));
|
|
65
44
|
}
|
|
66
|
-
return
|
|
45
|
+
return serviceRecords;
|
|
67
46
|
},
|
|
68
47
|
15 * 60 * 1e3
|
|
69
48
|
);
|
|
70
49
|
#recordLastSentAsMulticastAnswer = /* @__PURE__ */ new Map();
|
|
71
|
-
#
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
constructor(network, multicastServer, netInterface) {
|
|
76
|
-
multicastServer.onMessage(
|
|
77
|
-
(message, remoteIp, netInterface2) => void this.#handleDnsMessage(message, remoteIp, netInterface2)
|
|
78
|
-
);
|
|
79
|
-
this.#network = network;
|
|
80
|
-
this.#multicastServer = multicastServer;
|
|
81
|
-
this.#netInterface = netInterface;
|
|
50
|
+
#socket;
|
|
51
|
+
constructor(socket) {
|
|
52
|
+
this.#socket = socket;
|
|
53
|
+
this.#observers.on(this.#socket.receipt, this.#handleMessage.bind(this));
|
|
82
54
|
}
|
|
83
|
-
|
|
84
|
-
return
|
|
55
|
+
get network() {
|
|
56
|
+
return this.#socket.network;
|
|
85
57
|
}
|
|
86
|
-
|
|
87
|
-
return
|
|
58
|
+
get supportsIpv4() {
|
|
59
|
+
return this.#socket.supportsIpv4;
|
|
88
60
|
}
|
|
89
|
-
|
|
90
|
-
return
|
|
61
|
+
buildDnsRecordKey(record, netInterface, unicastTarget) {
|
|
62
|
+
return `${record.name}-${record.recordClass}-${record.recordType}-${netInterface}-${unicastTarget}`;
|
|
91
63
|
}
|
|
92
|
-
async #
|
|
93
|
-
|
|
94
|
-
const records = await this.#records.get(netInterface);
|
|
64
|
+
async #handleMessage(message) {
|
|
65
|
+
const records = await this.#records.get(message.sourceIntf);
|
|
95
66
|
if (records.size === 0) return;
|
|
96
|
-
const
|
|
97
|
-
if (message === void 0) return;
|
|
98
|
-
const { transactionId, messageType, queries, answers: knownAnswers } = message;
|
|
67
|
+
const { sourceIntf, sourceIp, transactionId, messageType, queries, answers: knownAnswers } = message;
|
|
99
68
|
if (messageType !== import_general.DnsMessageType.Query && messageType !== import_general.DnsMessageType.TruncatedQuery) return;
|
|
100
69
|
if (queries.length === 0) return;
|
|
101
70
|
for (const portRecords of records.values()) {
|
|
@@ -121,42 +90,33 @@ class MdnsServer {
|
|
|
121
90
|
const now = import_general.Time.nowMs();
|
|
122
91
|
let uniCastResponse = queries.filter((query) => !query.uniCastResponse).length === 0;
|
|
123
92
|
const answersTimeSinceLastSent = answers.map((answer) => ({
|
|
124
|
-
timeSinceLastMultiCast: now - (this.#recordLastSentAsMulticastAnswer.get(this.buildDnsRecordKey(answer,
|
|
125
|
-
|
|
126
|
-
ttl: answer.ttl
|
|
93
|
+
timeSinceLastMultiCast: now - (this.#recordLastSentAsMulticastAnswer.get(this.buildDnsRecordKey(answer, sourceIntf)) ?? 0),
|
|
94
|
+
ttl: answer.ttl * 1e3
|
|
127
95
|
}));
|
|
128
|
-
if (uniCastResponse && answersTimeSinceLastSent.some(
|
|
129
|
-
({ timeSinceLastMultiCast, ttl }) => timeSinceLastMultiCast > ttl / 4 * 1e3
|
|
130
|
-
)) {
|
|
96
|
+
if (uniCastResponse && answersTimeSinceLastSent.some(({ timeSinceLastMultiCast, ttl }) => timeSinceLastMultiCast > ttl / 4)) {
|
|
131
97
|
uniCastResponse = false;
|
|
132
98
|
}
|
|
133
99
|
if (!uniCastResponse) {
|
|
134
|
-
answers = answers.filter(
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
(answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, netInterface), now)
|
|
100
|
+
answers = answers.filter(
|
|
101
|
+
(_, index) => answersTimeSinceLastSent[index].timeSinceLastMultiCast >= 900
|
|
102
|
+
// The last time sent as multicast was more than 900 ms ago
|
|
138
103
|
);
|
|
139
|
-
} else {
|
|
140
|
-
answers = answers.filter((_, index) => answersTimeSinceLastSent[index].timeSinceLastUniCast > 1e3);
|
|
141
104
|
if (answers.length === 0) continue;
|
|
142
105
|
answers.forEach(
|
|
143
|
-
(answer) => this.#
|
|
144
|
-
this.buildDnsRecordKey(answer, netInterface, remoteIp),
|
|
145
|
-
now
|
|
146
|
-
)
|
|
106
|
+
(answer) => this.#recordLastSentAsMulticastAnswer.set(this.buildDnsRecordKey(answer, sourceIntf), now)
|
|
147
107
|
);
|
|
148
108
|
}
|
|
149
|
-
this.#
|
|
109
|
+
this.#socket.send(
|
|
150
110
|
{
|
|
151
111
|
messageType: import_general.DnsMessageType.Response,
|
|
152
112
|
transactionId,
|
|
153
113
|
answers,
|
|
154
114
|
additionalRecords
|
|
155
115
|
},
|
|
156
|
-
|
|
157
|
-
uniCastResponse ?
|
|
116
|
+
sourceIntf,
|
|
117
|
+
uniCastResponse ? sourceIp : void 0
|
|
158
118
|
).catch((error) => {
|
|
159
|
-
logger.warn(`Failed to send mDNS response to ${
|
|
119
|
+
logger.warn(`Failed to send mDNS response to ${sourceIp}`, error);
|
|
160
120
|
});
|
|
161
121
|
await import_general.Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
|
|
162
122
|
}
|
|
@@ -164,7 +124,7 @@ class MdnsServer {
|
|
|
164
124
|
async #announceRecordsForInterface(netInterface, records) {
|
|
165
125
|
const answers = records.filter(({ recordType }) => recordType === import_general.DnsRecordType.PTR);
|
|
166
126
|
const additionalRecords = records.filter(({ recordType }) => recordType !== import_general.DnsRecordType.PTR);
|
|
167
|
-
await this.#
|
|
127
|
+
await this.#socket.send(
|
|
168
128
|
{
|
|
169
129
|
messageType: import_general.DnsMessageType.Response,
|
|
170
130
|
answers,
|
|
@@ -173,115 +133,58 @@ class MdnsServer {
|
|
|
173
133
|
netInterface
|
|
174
134
|
);
|
|
175
135
|
}
|
|
176
|
-
async
|
|
177
|
-
const { answers = [], additionalRecords = [] } = dnsMessageData;
|
|
178
|
-
const answersToSend = [...answers];
|
|
179
|
-
const additionalRecordsToSend = [...additionalRecords];
|
|
180
|
-
const dnsMessageDataToSend = {
|
|
181
|
-
...dnsMessageData,
|
|
182
|
-
answers: [],
|
|
183
|
-
additionalRecords: []
|
|
184
|
-
};
|
|
185
|
-
const emptyDnsMessage = import_general.DnsCodec.encode(dnsMessageDataToSend);
|
|
186
|
-
let dnsMessageSize = emptyDnsMessage.length;
|
|
187
|
-
while (true) {
|
|
188
|
-
if (answersToSend.length > 0) {
|
|
189
|
-
const nextAnswer = answersToSend.shift();
|
|
190
|
-
if (nextAnswer === void 0) {
|
|
191
|
-
break;
|
|
192
|
-
}
|
|
193
|
-
const nextAnswerEncoded = import_general.DnsCodec.encodeRecord(nextAnswer);
|
|
194
|
-
dnsMessageSize += nextAnswerEncoded.length;
|
|
195
|
-
if (dnsMessageSize > import_general.MAX_MDNS_MESSAGE_SIZE) {
|
|
196
|
-
await this.#multicastServer.send(
|
|
197
|
-
import_general.DnsCodec.encode(dnsMessageDataToSend),
|
|
198
|
-
netInterface,
|
|
199
|
-
unicastTarget
|
|
200
|
-
);
|
|
201
|
-
dnsMessageDataToSend.answers.length = 0;
|
|
202
|
-
dnsMessageSize = emptyDnsMessage.length + nextAnswerEncoded.length;
|
|
203
|
-
}
|
|
204
|
-
dnsMessageDataToSend.answers.push(nextAnswerEncoded);
|
|
205
|
-
} else {
|
|
206
|
-
break;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
for (const additionalRecord of additionalRecordsToSend) {
|
|
210
|
-
const additionalRecordEncoded = import_general.DnsCodec.encodeRecord(additionalRecord);
|
|
211
|
-
dnsMessageSize += additionalRecordEncoded.length;
|
|
212
|
-
if (dnsMessageSize > import_general.MAX_MDNS_MESSAGE_SIZE) {
|
|
213
|
-
break;
|
|
214
|
-
}
|
|
215
|
-
dnsMessageDataToSend.additionalRecords.push(additionalRecordEncoded);
|
|
216
|
-
}
|
|
217
|
-
await this.#multicastServer.send(import_general.DnsCodec.encode(dnsMessageDataToSend), netInterface, unicastTarget);
|
|
218
|
-
}
|
|
219
|
-
async announce(announcedNetPort) {
|
|
136
|
+
async broadcast(...services) {
|
|
220
137
|
await import_general.MatterAggregateError.allSettled(
|
|
221
138
|
(await this.#getMulticastInterfacesForAnnounce()).map(async ({ name: netInterface }) => {
|
|
222
139
|
const records = await this.#records.get(netInterface);
|
|
223
|
-
for (const [
|
|
224
|
-
if (
|
|
225
|
-
await this.#announceRecordsForInterface(netInterface,
|
|
140
|
+
for (const [service, serviceRecords] of records) {
|
|
141
|
+
if (services.length && !services.includes(service)) continue;
|
|
142
|
+
await this.#announceRecordsForInterface(netInterface, serviceRecords);
|
|
226
143
|
await import_general.Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
|
|
227
144
|
}
|
|
228
145
|
}),
|
|
229
|
-
"Error
|
|
146
|
+
"Error announcing MDNS messages"
|
|
230
147
|
).catch((error) => logger.error(error));
|
|
231
148
|
}
|
|
232
|
-
async expireAnnouncements(
|
|
233
|
-
const { announcedNetPort, type, forInstance: instanceToExpire } = options ?? {};
|
|
149
|
+
async expireAnnouncements(...services) {
|
|
234
150
|
await import_general.MatterAggregateError.allSettled(
|
|
235
151
|
this.#records.keys().map(async (netInterface) => {
|
|
236
152
|
const records = await this.#records.get(netInterface);
|
|
237
|
-
for (const [
|
|
238
|
-
if (
|
|
239
|
-
if (announcedNetPort !== void 0 && type !== void 0 && portType !== this.buildTypePortKey(type, announcedNetPort))
|
|
240
|
-
continue;
|
|
241
|
-
const recordsToProcess = instanceToExpire !== void 0 ? portTypeRecords.filter(
|
|
242
|
-
({ forInstance }) => forInstance !== void 0 && instanceToExpire === forInstance
|
|
243
|
-
) : portTypeRecords;
|
|
153
|
+
for (const [service, serviceRecords] of records) {
|
|
154
|
+
if (services.length && !services.includes(service)) continue;
|
|
244
155
|
const instanceSet = /* @__PURE__ */ new Set();
|
|
245
|
-
|
|
156
|
+
serviceRecords.forEach((record) => {
|
|
246
157
|
record.ttl = 0;
|
|
247
158
|
if (record.recordType === import_general.DnsRecordType.TXT) {
|
|
248
159
|
instanceSet.add(record.name);
|
|
249
160
|
}
|
|
250
161
|
});
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
`Expiring records`,
|
|
254
|
-
import_general.Diagnostic.dict({
|
|
255
|
-
instanceName,
|
|
256
|
-
port: announcedNetPort,
|
|
257
|
-
netInterface
|
|
258
|
-
})
|
|
259
|
-
);
|
|
260
|
-
await this.#announceRecordsForInterface(netInterface, portTypeRecords);
|
|
261
|
-
this.#recordsGenerator.delete(portType);
|
|
162
|
+
await this.#announceRecordsForInterface(netInterface, serviceRecords);
|
|
163
|
+
this.#recordsGenerator.delete(service);
|
|
262
164
|
await import_general.Time.sleep("MDNS delay", 20 + Math.floor(Math.random() * 100));
|
|
263
165
|
}
|
|
264
166
|
}),
|
|
265
167
|
"Error happened when expiring MDNS announcements"
|
|
266
168
|
).catch((error) => logger.error(error));
|
|
169
|
+
await this.#resetServices();
|
|
170
|
+
}
|
|
171
|
+
async setRecordsGenerator(service, generator) {
|
|
267
172
|
await this.#records.clear();
|
|
268
173
|
this.#recordLastSentAsMulticastAnswer.clear();
|
|
269
|
-
this.#
|
|
174
|
+
this.#recordsGenerator.set(service, generator);
|
|
270
175
|
}
|
|
271
|
-
async
|
|
176
|
+
async #resetServices() {
|
|
272
177
|
await this.#records.clear();
|
|
273
178
|
this.#recordLastSentAsMulticastAnswer.clear();
|
|
274
|
-
this.#recordLastSentAsUnicastAnswer.clear();
|
|
275
|
-
this.#recordsGenerator.set(this.buildTypePortKey(type, hostPort), generator);
|
|
276
179
|
}
|
|
277
180
|
async close() {
|
|
181
|
+
this.#observers.close();
|
|
278
182
|
await this.#records.close();
|
|
279
183
|
this.#recordLastSentAsMulticastAnswer.clear();
|
|
280
|
-
this.#recordLastSentAsUnicastAnswer.clear();
|
|
281
|
-
await this.#multicastServer.close();
|
|
282
184
|
}
|
|
283
185
|
#getMulticastInterfacesForAnnounce() {
|
|
284
|
-
|
|
186
|
+
const { netInterface } = this.#socket;
|
|
187
|
+
return netInterface === void 0 ? this.network.getNetInterfaces() : [{ name: netInterface }];
|
|
285
188
|
}
|
|
286
189
|
#queryRecords({ name, recordType }, records) {
|
|
287
190
|
if (recordType === import_general.DnsRecordType.ANY) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mdns/MdnsServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": [
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
6
|
}
|
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Construction, Diagnostic, Environment, Environmental } from "#general";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
7
|
+
import { MdnsServer } from "../mdns/MdnsServer.js";
|
|
8
|
+
import { MdnsClient } from "./MdnsClient.js";
|
|
9
9
|
export declare class MdnsService {
|
|
10
10
|
#private;
|
|
11
11
|
readonly limitedToNetInterface?: string;
|
|
12
12
|
get enableIpv4(): boolean;
|
|
13
13
|
constructor(environment: Environment, options?: MdnsService.Options);
|
|
14
14
|
static [Environmental.create](environment: Environment): MdnsService;
|
|
15
|
-
|
|
16
|
-
get
|
|
17
|
-
get scanner(): MdnsScanner;
|
|
15
|
+
get server(): MdnsServer;
|
|
16
|
+
get client(): MdnsClient;
|
|
18
17
|
get [Diagnostic.value](): string;
|
|
19
18
|
get construction(): Construction<MdnsService>;
|
|
20
19
|
[Symbol.asyncDispose](): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsService.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,YAAY,
|
|
1
|
+
{"version":3,"file":"MdnsService.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsService.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EAMhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,qBAAa,WAAW;;IAOpB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAExC,IAAI,UAAU,YAEb;gBAEW,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,OAAO;IAsBnE,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,WAAW;IAItD,IAAI,MAAM,eAET;IAED,IAAI,MAAM,eAET;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,WAErB;IAED,IAAI,YAAY,8BAEf;IAEK,CAAC,MAAM,CAAC,YAAY,CAAC;CAwB9B;AAED,yBAAiB,WAAW,CAAC;IACzB,UAAiB,OAAO;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB;CACJ"}
|
|
@@ -22,8 +22,9 @@ __export(MdnsService_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(MdnsService_exports);
|
|
24
24
|
var import_general = require("#general");
|
|
25
|
-
var
|
|
26
|
-
var
|
|
25
|
+
var import_MdnsServer = require("../mdns/MdnsServer.js");
|
|
26
|
+
var import_MdnsClient = require("./MdnsClient.js");
|
|
27
|
+
var import_MdnsSocket = require("./MdnsSocket.js");
|
|
27
28
|
/**
|
|
28
29
|
* @license
|
|
29
30
|
* Copyright 2022-2025 Matter.js Authors
|
|
@@ -31,8 +32,9 @@ var import_MdnsScanner = require("../mdns/MdnsScanner.js");
|
|
|
31
32
|
*/
|
|
32
33
|
const logger = import_general.Logger.get("MDNS");
|
|
33
34
|
class MdnsService {
|
|
34
|
-
#
|
|
35
|
-
#
|
|
35
|
+
#socket;
|
|
36
|
+
#server;
|
|
37
|
+
#client;
|
|
36
38
|
#env;
|
|
37
39
|
#construction;
|
|
38
40
|
#enableIpv4;
|
|
@@ -42,6 +44,7 @@ class MdnsService {
|
|
|
42
44
|
}
|
|
43
45
|
constructor(environment, options) {
|
|
44
46
|
this.#env = environment;
|
|
47
|
+
const network = environment.get(import_general.Network);
|
|
45
48
|
const rootEnvironment = environment.root;
|
|
46
49
|
rootEnvironment.set(MdnsService, this);
|
|
47
50
|
rootEnvironment.runtime.add(this);
|
|
@@ -49,29 +52,22 @@ class MdnsService {
|
|
|
49
52
|
this.#enableIpv4 = vars.boolean("mdns.ipv4") ?? options?.ipv4 ?? true;
|
|
50
53
|
this.limitedToNetInterface = vars.get("mdns.networkInterface", options?.networkInterface);
|
|
51
54
|
this.#construction = (0, import_general.Construction)(this, async () => {
|
|
52
|
-
|
|
53
|
-
const network = environment.get(import_general.Network);
|
|
54
|
-
this.#broadcaster = await import_MdnsBroadcaster.MdnsBroadcaster.create(crypto, network, {
|
|
55
|
-
enableIpv4: this.enableIpv4,
|
|
56
|
-
multicastInterface: this.limitedToNetInterface
|
|
57
|
-
});
|
|
58
|
-
this.#scanner = await import_MdnsScanner.MdnsScanner.create(network, {
|
|
55
|
+
this.#socket = await import_MdnsSocket.MdnsSocket.create(network, {
|
|
59
56
|
enableIpv4: this.enableIpv4,
|
|
60
57
|
netInterface: this.limitedToNetInterface
|
|
61
58
|
});
|
|
59
|
+
this.#server = new import_MdnsServer.MdnsServer(this.#socket);
|
|
60
|
+
this.#client = new import_MdnsClient.MdnsClient(this.#socket);
|
|
62
61
|
});
|
|
63
62
|
}
|
|
64
63
|
static [import_general.Environmental.create](environment) {
|
|
65
64
|
return new this(environment);
|
|
66
65
|
}
|
|
67
|
-
|
|
68
|
-
return this.
|
|
69
|
-
}
|
|
70
|
-
get broadcaster() {
|
|
71
|
-
return this.#construction.assert("MDNS service", this.#broadcaster);
|
|
66
|
+
get server() {
|
|
67
|
+
return this.#construction.assert("MDNS service", this.#server);
|
|
72
68
|
}
|
|
73
|
-
get
|
|
74
|
-
return this.#construction.assert("MDNS service", this.#
|
|
69
|
+
get client() {
|
|
70
|
+
return this.#construction.assert("MDNS service", this.#client);
|
|
75
71
|
}
|
|
76
72
|
get [import_general.Diagnostic.value]() {
|
|
77
73
|
return "MDNS";
|
|
@@ -83,20 +79,23 @@ class MdnsService {
|
|
|
83
79
|
this.#env.delete(MdnsService, this);
|
|
84
80
|
await this.#construction.close(async () => {
|
|
85
81
|
const broadcasterDisposal = import_general.MaybePromise.then(
|
|
86
|
-
this.#
|
|
82
|
+
this.#server?.close(),
|
|
87
83
|
void 0,
|
|
88
|
-
(e) => logger.error("Error disposing of MDNS
|
|
84
|
+
(e) => logger.error("Error disposing of MDNS server", e)
|
|
89
85
|
);
|
|
90
86
|
const scannerDisposal = import_general.MaybePromise.then(
|
|
91
|
-
this.#
|
|
87
|
+
this.#client?.close(),
|
|
92
88
|
void 0,
|
|
93
|
-
(e) => logger.error("Error disposing of MDNS
|
|
89
|
+
(e) => logger.error("Error disposing of MDNS client", e)
|
|
94
90
|
);
|
|
95
91
|
await import_general.MatterAggregateError.allSettled(
|
|
96
92
|
[broadcasterDisposal, scannerDisposal],
|
|
97
93
|
"Error disposing MDNS services"
|
|
98
94
|
).catch((error) => logger.error(error));
|
|
99
|
-
|
|
95
|
+
if (this.#socket) {
|
|
96
|
+
await this.#socket?.close();
|
|
97
|
+
}
|
|
98
|
+
this.#server = this.#client = void 0;
|
|
100
99
|
});
|
|
101
100
|
}
|
|
102
101
|
}
|