@matter/protocol 0.16.0-alpha.0-20250807-37b08c9bb → 0.16.0-alpha.0-20250810-5c91a95d2
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/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 +55 -140
- 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/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/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 +57 -145
- 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/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 +9 -9
- 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/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 +79 -184
- 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/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
|
@@ -1,365 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var MdnsBroadcaster_exports = {};
|
|
20
|
-
__export(MdnsBroadcaster_exports, {
|
|
21
|
-
MdnsBroadcaster: () => MdnsBroadcaster
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(MdnsBroadcaster_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
|
-
var import_types = require("#types");
|
|
26
|
-
var import_InstanceBroadcaster = require("../common/InstanceBroadcaster.js");
|
|
27
|
-
var import_Session = require("../session/Session.js");
|
|
28
|
-
var import_MdnsConsts = require("./MdnsConsts.js");
|
|
29
|
-
var import_MdnsInstanceBroadcaster = require("./MdnsInstanceBroadcaster.js");
|
|
30
|
-
var import_MdnsServer = require("./MdnsServer.js");
|
|
31
|
-
/**
|
|
32
|
-
* @license
|
|
33
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
34
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
-
*/
|
|
36
|
-
const logger = import_general.Logger.get("MdnsBroadcaster");
|
|
37
|
-
const DEFAULT_PAIRING_HINT = {
|
|
38
|
-
powerCycle: true,
|
|
39
|
-
deviceManual: true
|
|
40
|
-
};
|
|
41
|
-
class MdnsBroadcaster {
|
|
42
|
-
#activeCommissioningAnnouncements = /* @__PURE__ */ new Set();
|
|
43
|
-
#activeOperationalAnnouncements = /* @__PURE__ */ new Map();
|
|
44
|
-
#crypto;
|
|
45
|
-
#network;
|
|
46
|
-
#mdnsServer;
|
|
47
|
-
#enableIpv4;
|
|
48
|
-
#instances = new import_general.BasicSet();
|
|
49
|
-
static async create(crypto, network, options) {
|
|
50
|
-
const { enableIpv4, multicastInterface } = options ?? {};
|
|
51
|
-
return new MdnsBroadcaster(
|
|
52
|
-
crypto,
|
|
53
|
-
network,
|
|
54
|
-
await import_MdnsServer.MdnsServer.create(network, { enableIpv4, netInterface: multicastInterface }),
|
|
55
|
-
enableIpv4
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
constructor(crypto, network, mdnsServer, enableIpv4) {
|
|
59
|
-
this.#crypto = crypto;
|
|
60
|
-
this.#network = network;
|
|
61
|
-
this.#mdnsServer = mdnsServer;
|
|
62
|
-
this.#enableIpv4 = enableIpv4;
|
|
63
|
-
}
|
|
64
|
-
createInstanceBroadcaster(port) {
|
|
65
|
-
const instance = new import_MdnsInstanceBroadcaster.MdnsInstanceBroadcaster(port, this, () => {
|
|
66
|
-
this.#instances.delete(instance);
|
|
67
|
-
});
|
|
68
|
-
this.#instances.add(instance);
|
|
69
|
-
return instance;
|
|
70
|
-
}
|
|
71
|
-
#validateCommissioningData(data) {
|
|
72
|
-
const { sessionIdleInterval, sessionActiveInterval, sessionActiveThreshold } = data;
|
|
73
|
-
if (sessionIdleInterval !== void 0 && sessionIdleInterval > 36e5) {
|
|
74
|
-
throw new import_general.ImplementationError("Session Idle Interval must be less than 1 hour");
|
|
75
|
-
}
|
|
76
|
-
if (sessionActiveInterval !== void 0 && sessionActiveInterval > 36e5) {
|
|
77
|
-
throw new import_general.ImplementationError("Session Active Interval must be less than 1 hour");
|
|
78
|
-
}
|
|
79
|
-
if (sessionActiveThreshold !== void 0 && sessionActiveThreshold > 65535) {
|
|
80
|
-
throw new import_general.ImplementationError("Session Active Threshold must be less than 65535 seconds");
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
#validatePairingInstructions(pairingHint, pairingInstructions) {
|
|
84
|
-
const needsInstructions = [
|
|
85
|
-
"customInstruction",
|
|
86
|
-
"pressRestButtonForNumberOfSeconds",
|
|
87
|
-
"pressResetButtonUntilLightBlinks",
|
|
88
|
-
"pressResetButtonForNumberOfSecondsWithApplicationOfPower",
|
|
89
|
-
"pressResetButtonUntilLightBlinksWithApplicationOfPower",
|
|
90
|
-
"pressResetButtonNumberOfTimes",
|
|
91
|
-
"pressSetupButtonForNumberOfSeconds",
|
|
92
|
-
"pressSetupButtonUntilLightBlinks",
|
|
93
|
-
"pressSetupButtonForNumberOfSecondsWithApplicationOfPower",
|
|
94
|
-
"pressSetupButtonUntilLightBlinksWithApplicationOfPower",
|
|
95
|
-
"pressSetupButtonNumberOfTimes"
|
|
96
|
-
].find((hint) => pairingHint[hint] === true);
|
|
97
|
-
if (needsInstructions && pairingInstructions.length === 0) {
|
|
98
|
-
throw new import_general.ImplementationError(
|
|
99
|
-
`Pairing instructions required for Pairing Hint of type "${needsInstructions}"`
|
|
100
|
-
);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
#getIpRecords(hostname, ips) {
|
|
104
|
-
const records = new Array();
|
|
105
|
-
ips.forEach((ip) => {
|
|
106
|
-
if ((0, import_general.isIPv6)(ip)) {
|
|
107
|
-
records.push((0, import_general.AAAARecord)(hostname, ip));
|
|
108
|
-
} else if ((0, import_general.isIPv4)(ip)) {
|
|
109
|
-
if (this.#enableIpv4) {
|
|
110
|
-
records.push((0, import_general.ARecord)(hostname, ip));
|
|
111
|
-
}
|
|
112
|
-
} else {
|
|
113
|
-
logger.warn(`Unknown IP address type: ${ip}`);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
return records;
|
|
117
|
-
}
|
|
118
|
-
/** Set the Broadcaster data to announce a device ready for commissioning in a special mode */
|
|
119
|
-
async setCommissionMode(announcedNetPort, mode, commissioningModeData) {
|
|
120
|
-
this.#validateCommissioningData(commissioningModeData);
|
|
121
|
-
const {
|
|
122
|
-
name: deviceName,
|
|
123
|
-
deviceType,
|
|
124
|
-
vendorId,
|
|
125
|
-
productId,
|
|
126
|
-
discriminator,
|
|
127
|
-
sessionIdleInterval = import_Session.SESSION_IDLE_INTERVAL_MS,
|
|
128
|
-
sessionActiveInterval = import_Session.SESSION_ACTIVE_INTERVAL_MS,
|
|
129
|
-
sessionActiveThreshold = import_Session.SESSION_ACTIVE_THRESHOLD_MS,
|
|
130
|
-
pairingHint = DEFAULT_PAIRING_HINT,
|
|
131
|
-
pairingInstructions = ""
|
|
132
|
-
} = commissioningModeData;
|
|
133
|
-
this.#validatePairingInstructions(pairingHint, pairingInstructions);
|
|
134
|
-
await this.expireCommissioningAnnouncement(announcedNetPort);
|
|
135
|
-
logger.debug(
|
|
136
|
-
`Announce commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator} ${announcedNetPort}`
|
|
137
|
-
);
|
|
138
|
-
this.#activeCommissioningAnnouncements.add(announcedNetPort);
|
|
139
|
-
const shortDiscriminator = discriminator >> 8 & 15;
|
|
140
|
-
const instanceId = import_general.Bytes.toHex(this.#crypto.randomBytes(8)).toUpperCase();
|
|
141
|
-
const vendorQname = (0, import_MdnsConsts.getVendorQname)(vendorId);
|
|
142
|
-
const deviceTypeQname = (0, import_MdnsConsts.getDeviceTypeQname)(deviceType);
|
|
143
|
-
const shortDiscriminatorQname = (0, import_MdnsConsts.getShortDiscriminatorQname)(shortDiscriminator);
|
|
144
|
-
const longDiscriminatorQname = (0, import_MdnsConsts.getLongDiscriminatorQname)(discriminator);
|
|
145
|
-
const commissionModeQname = (0, import_MdnsConsts.getCommissioningModeQname)();
|
|
146
|
-
const deviceQname = (0, import_MdnsConsts.getDeviceInstanceQname)(instanceId);
|
|
147
|
-
await this.#mdnsServer.setRecordsGenerator(
|
|
148
|
-
announcedNetPort,
|
|
149
|
-
import_MdnsServer.AnnouncementType.Commissionable,
|
|
150
|
-
async (netInterface) => {
|
|
151
|
-
const ipMac = await this.#network.getIpMac(netInterface);
|
|
152
|
-
if (ipMac === void 0) return [];
|
|
153
|
-
const { mac, ipV4, ipV6 } = ipMac;
|
|
154
|
-
const hostname = mac.replace(/:/g, "").toUpperCase() + "0000.local";
|
|
155
|
-
logger.debug(
|
|
156
|
-
"Announcement Generator: Commission mode ",
|
|
157
|
-
import_general.Diagnostic.dict({
|
|
158
|
-
mode,
|
|
159
|
-
qname: deviceQname,
|
|
160
|
-
port: announcedNetPort,
|
|
161
|
-
interface: netInterface
|
|
162
|
-
})
|
|
163
|
-
);
|
|
164
|
-
const records = [
|
|
165
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, import_MdnsConsts.MATTER_COMMISSION_SERVICE_QNAME),
|
|
166
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, vendorQname),
|
|
167
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, deviceTypeQname),
|
|
168
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, shortDiscriminatorQname),
|
|
169
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, longDiscriminatorQname),
|
|
170
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, commissionModeQname),
|
|
171
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.MATTER_COMMISSION_SERVICE_QNAME, deviceQname),
|
|
172
|
-
(0, import_general.PtrRecord)(vendorQname, deviceQname),
|
|
173
|
-
(0, import_general.PtrRecord)(deviceTypeQname, deviceQname),
|
|
174
|
-
(0, import_general.PtrRecord)(shortDiscriminatorQname, deviceQname),
|
|
175
|
-
(0, import_general.PtrRecord)(longDiscriminatorQname, deviceQname),
|
|
176
|
-
(0, import_general.PtrRecord)(commissionModeQname, deviceQname),
|
|
177
|
-
(0, import_general.SrvRecord)(deviceQname, { priority: 0, weight: 0, port: announcedNetPort, target: hostname }),
|
|
178
|
-
(0, import_general.TxtRecord)(deviceQname, [
|
|
179
|
-
`VP=${vendorId}+${productId}`,
|
|
180
|
-
`DT=${deviceType}`,
|
|
181
|
-
`DN=${deviceName}`,
|
|
182
|
-
`SII=${sessionIdleInterval}`,
|
|
183
|
-
`SAI=${sessionActiveInterval}`,
|
|
184
|
-
`SAT=${sessionActiveThreshold}`,
|
|
185
|
-
//`T=${TCP_SUPPORTED}` /* TODO TCP not supported */,
|
|
186
|
-
`D=${discriminator}`,
|
|
187
|
-
`CM=${mode}`,
|
|
188
|
-
`PH=${import_InstanceBroadcaster.PairingHintBitmapSchema.encode(pairingHint)}`,
|
|
189
|
-
`PI=${pairingInstructions}`
|
|
190
|
-
//`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
|
|
191
|
-
])
|
|
192
|
-
];
|
|
193
|
-
records.push(...this.#getIpRecords(hostname, [...ipV6, ...ipV4]));
|
|
194
|
-
return records;
|
|
195
|
-
}
|
|
196
|
-
);
|
|
197
|
-
}
|
|
198
|
-
/** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
|
|
199
|
-
async setFabrics(announcedNetPort, fabrics, {
|
|
200
|
-
sessionIdleInterval = import_Session.SESSION_IDLE_INTERVAL_MS,
|
|
201
|
-
sessionActiveInterval = import_Session.SESSION_ACTIVE_INTERVAL_MS,
|
|
202
|
-
sessionActiveThreshold = import_Session.SESSION_ACTIVE_THRESHOLD_MS
|
|
203
|
-
} = {}) {
|
|
204
|
-
const currentOperationalFabrics = this.#activeOperationalAnnouncements.get(announcedNetPort);
|
|
205
|
-
this.#activeOperationalAnnouncements.set(
|
|
206
|
-
announcedNetPort,
|
|
207
|
-
fabrics.map((f) => ({
|
|
208
|
-
fabricIndex: f.fabricIndex,
|
|
209
|
-
forInstance: (0, import_MdnsConsts.getDeviceMatterQname)(
|
|
210
|
-
import_general.Bytes.toHex(f.operationalId).toUpperCase(),
|
|
211
|
-
import_types.NodeId.toHexString(f.nodeId)
|
|
212
|
-
)
|
|
213
|
-
}))
|
|
214
|
-
);
|
|
215
|
-
const expires = new Array();
|
|
216
|
-
if (currentOperationalFabrics !== void 0) {
|
|
217
|
-
const fabricIndexesSet = new Set(fabrics.map((f) => f.fabricIndex));
|
|
218
|
-
for (const { fabricIndex, forInstance } of currentOperationalFabrics) {
|
|
219
|
-
if (!fabricIndexesSet.has(fabricIndex)) {
|
|
220
|
-
expires.push(
|
|
221
|
-
this.#mdnsServer.expireAnnouncements({
|
|
222
|
-
announcedNetPort,
|
|
223
|
-
type: import_MdnsServer.AnnouncementType.Operative,
|
|
224
|
-
forInstance
|
|
225
|
-
})
|
|
226
|
-
);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
await this.#mdnsServer.setRecordsGenerator(announcedNetPort, import_MdnsServer.AnnouncementType.Operative, async (netInterface) => {
|
|
231
|
-
const ipMac = await this.#network.getIpMac(netInterface);
|
|
232
|
-
if (ipMac === void 0) return [];
|
|
233
|
-
const { mac, ipV4, ipV6 } = ipMac;
|
|
234
|
-
const hostname = mac.replace(/:/g, "").toUpperCase() + "0000.local";
|
|
235
|
-
const records = [(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, import_MdnsConsts.MATTER_SERVICE_QNAME)];
|
|
236
|
-
fabrics.forEach((fabric) => {
|
|
237
|
-
const { operationalId, nodeId } = fabric;
|
|
238
|
-
const operationalIdString = import_general.Bytes.toHex(operationalId).toUpperCase();
|
|
239
|
-
const fabricQname = (0, import_MdnsConsts.getFabricQname)(operationalIdString);
|
|
240
|
-
const deviceMatterQname = (0, import_MdnsConsts.getDeviceMatterQname)(operationalIdString, import_types.NodeId.toHexString(nodeId));
|
|
241
|
-
logger.debug(
|
|
242
|
-
"Announcement Generator: Fabric",
|
|
243
|
-
import_general.Diagnostic.dict({
|
|
244
|
-
id: `${operationalIdString}-${import_types.NodeId.toHexString(nodeId)}`,
|
|
245
|
-
qname: deviceMatterQname,
|
|
246
|
-
port: announcedNetPort,
|
|
247
|
-
interface: netInterface
|
|
248
|
-
})
|
|
249
|
-
);
|
|
250
|
-
const fabricRecords = [
|
|
251
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, fabricQname, deviceMatterQname),
|
|
252
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.MATTER_SERVICE_QNAME, deviceMatterQname, deviceMatterQname),
|
|
253
|
-
(0, import_general.PtrRecord)(fabricQname, deviceMatterQname, deviceMatterQname),
|
|
254
|
-
(0, import_general.SrvRecord)(
|
|
255
|
-
deviceMatterQname,
|
|
256
|
-
{ priority: 0, weight: 0, port: announcedNetPort, target: hostname },
|
|
257
|
-
deviceMatterQname
|
|
258
|
-
),
|
|
259
|
-
(0, import_general.TxtRecord)(
|
|
260
|
-
deviceMatterQname,
|
|
261
|
-
[
|
|
262
|
-
`SII=${sessionIdleInterval}`,
|
|
263
|
-
`SAI=${sessionActiveInterval}`,
|
|
264
|
-
`SAT=${sessionActiveThreshold}`
|
|
265
|
-
//`T=${TCP_SUPPORTED}` /* TODO TCP not supported */,
|
|
266
|
-
//`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
|
|
267
|
-
],
|
|
268
|
-
deviceMatterQname
|
|
269
|
-
)
|
|
270
|
-
];
|
|
271
|
-
records.push(...fabricRecords);
|
|
272
|
-
});
|
|
273
|
-
records.push(...this.#getIpRecords(hostname, [...ipV6, ...ipV4]));
|
|
274
|
-
return records;
|
|
275
|
-
});
|
|
276
|
-
await import_general.MatterAggregateError.allSettled(expires);
|
|
277
|
-
}
|
|
278
|
-
/** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
|
|
279
|
-
async setCommissionerInfo(announcedNetPort, {
|
|
280
|
-
deviceName,
|
|
281
|
-
deviceType,
|
|
282
|
-
vendorId,
|
|
283
|
-
productId,
|
|
284
|
-
sessionIdleInterval = import_Session.SESSION_IDLE_INTERVAL_MS,
|
|
285
|
-
sessionActiveInterval = import_Session.SESSION_ACTIVE_INTERVAL_MS,
|
|
286
|
-
sessionActiveThreshold = import_Session.SESSION_ACTIVE_THRESHOLD_MS
|
|
287
|
-
}) {
|
|
288
|
-
logger.debug(
|
|
289
|
-
"Announcement: Commissioner",
|
|
290
|
-
import_general.Diagnostic.dict({
|
|
291
|
-
port: announcedNetPort,
|
|
292
|
-
deviceType
|
|
293
|
-
})
|
|
294
|
-
);
|
|
295
|
-
const instanceId = import_general.Bytes.toHex(this.#crypto.randomBytes(8)).toUpperCase();
|
|
296
|
-
const deviceTypeQname = `_T${deviceType}._sub.${import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME}`;
|
|
297
|
-
const vendorQname = `_V${vendorId}._sub.${import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME}`;
|
|
298
|
-
const deviceQname = `${instanceId}.${import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME}`;
|
|
299
|
-
this.#activeCommissioningAnnouncements.add(announcedNetPort);
|
|
300
|
-
await this.#mdnsServer.setRecordsGenerator(
|
|
301
|
-
announcedNetPort,
|
|
302
|
-
import_MdnsServer.AnnouncementType.Commissionable,
|
|
303
|
-
async (netInterface) => {
|
|
304
|
-
const ipMac = await this.#network.getIpMac(netInterface);
|
|
305
|
-
if (ipMac === void 0) return [];
|
|
306
|
-
const { mac, ipV4, ipV6 } = ipMac;
|
|
307
|
-
const hostname = mac.replace(/:/g, "").toUpperCase() + "0000.local";
|
|
308
|
-
const records = [
|
|
309
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME),
|
|
310
|
-
(0, import_general.PtrRecord)(import_MdnsConsts.MATTER_COMMISSIONER_SERVICE_QNAME, vendorQname),
|
|
311
|
-
(0, import_general.PtrRecord)(vendorQname, deviceQname),
|
|
312
|
-
(0, import_general.SrvRecord)(deviceQname, { priority: 0, weight: 0, port: announcedNetPort, target: hostname }),
|
|
313
|
-
(0, import_general.TxtRecord)(deviceQname, [
|
|
314
|
-
`VP=${vendorId}+${productId}`,
|
|
315
|
-
`DT=${deviceType}`,
|
|
316
|
-
`DN=${deviceName}`,
|
|
317
|
-
`SII=${sessionIdleInterval}`,
|
|
318
|
-
`SAI=${sessionActiveInterval}`,
|
|
319
|
-
`SAT=${sessionActiveThreshold}`
|
|
320
|
-
//`T=${TCP_SUPPORTED}` /* TODO TCP not supported */,
|
|
321
|
-
//`ICD=${ICD_SUPPORTED}` /* ICD not supported */,
|
|
322
|
-
])
|
|
323
|
-
];
|
|
324
|
-
if (deviceType !== void 0) {
|
|
325
|
-
records.push((0, import_general.PtrRecord)(import_MdnsConsts.SERVICE_DISCOVERY_QNAME, deviceTypeQname));
|
|
326
|
-
records.push((0, import_general.PtrRecord)(deviceTypeQname, deviceQname));
|
|
327
|
-
}
|
|
328
|
-
records.push(...this.#getIpRecords(hostname, [...ipV6, ...ipV4]));
|
|
329
|
-
return records;
|
|
330
|
-
}
|
|
331
|
-
);
|
|
332
|
-
}
|
|
333
|
-
async announce(announcementPort) {
|
|
334
|
-
this.#mdnsServer.announce(announcementPort).catch((error) => logger.error(error));
|
|
335
|
-
}
|
|
336
|
-
async expireFabricAnnouncement(announcedNetPort) {
|
|
337
|
-
if (this.#activeOperationalAnnouncements.has(announcedNetPort)) {
|
|
338
|
-
await this.#mdnsServer.expireAnnouncements({ announcedNetPort, type: import_MdnsServer.AnnouncementType.Operative });
|
|
339
|
-
this.#activeOperationalAnnouncements.delete(announcedNetPort);
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
async expireCommissioningAnnouncement(announcedNetPort) {
|
|
343
|
-
if (this.#activeCommissioningAnnouncements.has(announcedNetPort)) {
|
|
344
|
-
await this.#mdnsServer.expireAnnouncements({ announcedNetPort, type: import_MdnsServer.AnnouncementType.Commissionable });
|
|
345
|
-
this.#activeCommissioningAnnouncements.delete(announcedNetPort);
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
async expireAllAnnouncements(announcedNetPort) {
|
|
349
|
-
if (!this.#activeCommissioningAnnouncements.has(announcedNetPort) && !this.#activeOperationalAnnouncements.has(announcedNetPort))
|
|
350
|
-
return;
|
|
351
|
-
await this.#mdnsServer.expireAnnouncements({ announcedNetPort });
|
|
352
|
-
this.#activeCommissioningAnnouncements.delete(announcedNetPort);
|
|
353
|
-
this.#activeOperationalAnnouncements.delete(announcedNetPort);
|
|
354
|
-
}
|
|
355
|
-
async close() {
|
|
356
|
-
while (this.#instances.size) {
|
|
357
|
-
await this.#instances.deleted;
|
|
358
|
-
}
|
|
359
|
-
await this.#mdnsServer.expireAnnouncements();
|
|
360
|
-
this.#activeCommissioningAnnouncements.clear();
|
|
361
|
-
this.#activeOperationalAnnouncements.clear();
|
|
362
|
-
await this.#mdnsServer.close();
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
//# sourceMappingURL=MdnsBroadcaster.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/mdns/MdnsBroadcaster.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { CommissionerInstanceData, CommissioningModeInstanceData, InstanceBroadcaster } from "../common/InstanceBroadcaster.js";
|
|
7
|
-
import { Fabric } from "../fabric/Fabric.js";
|
|
8
|
-
import type { MdnsBroadcaster } from "./MdnsBroadcaster.js";
|
|
9
|
-
/**
|
|
10
|
-
* This class is handing MDNS Announcements for one instance of a device aka "port".
|
|
11
|
-
*
|
|
12
|
-
* Obtain an instance via {@link MdnsBroadcaster.createInstanceBroadcaster}.
|
|
13
|
-
*/
|
|
14
|
-
export declare class MdnsInstanceBroadcaster implements InstanceBroadcaster {
|
|
15
|
-
#private;
|
|
16
|
-
constructor(instancePort: number, mdnsBroadcaster: MdnsBroadcaster, onclose: () => void);
|
|
17
|
-
close(): Promise<void>;
|
|
18
|
-
setCommissionMode(mode: number, deviceData: CommissioningModeInstanceData): Promise<void>;
|
|
19
|
-
/** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
|
|
20
|
-
setFabrics(fabrics: Fabric[], expireCommissioningAnnouncements?: boolean): Promise<void>;
|
|
21
|
-
/** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
|
|
22
|
-
setCommissionerInfo(commissionerData: CommissionerInstanceData): Promise<void>;
|
|
23
|
-
announce(): Promise<void>;
|
|
24
|
-
expireFabricAnnouncement(): Promise<void>;
|
|
25
|
-
expireCommissioningAnnouncement(): Promise<void>;
|
|
26
|
-
expireAllAnnouncements(): Promise<void>;
|
|
27
|
-
}
|
|
28
|
-
//# sourceMappingURL=MdnsInstanceBroadcaster.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsInstanceBroadcaster.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsInstanceBroadcaster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACH,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,EACtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,uBAAwB,YAAW,mBAAmB;;gBAMnD,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,IAAI;IAMjF,KAAK;IAUL,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,6BAA6B;IAK/E,mGAAmG;IAC7F,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,gCAAgC,UAAQ;IAQ5E,uFAAuF;IACjF,mBAAmB,CAAC,gBAAgB,EAAE,wBAAwB;IAK9D,QAAQ;IAKR,wBAAwB;IAKxB,+BAA+B;IAK/B,sBAAsB;CAU/B"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var MdnsInstanceBroadcaster_exports = {};
|
|
20
|
-
__export(MdnsInstanceBroadcaster_exports, {
|
|
21
|
-
MdnsInstanceBroadcaster: () => MdnsInstanceBroadcaster
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(MdnsInstanceBroadcaster_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
|
-
/**
|
|
26
|
-
* @license
|
|
27
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
28
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
-
*/
|
|
30
|
-
class MdnsInstanceBroadcaster {
|
|
31
|
-
#instancePort;
|
|
32
|
-
#mdnsBroadcaster;
|
|
33
|
-
#onclose;
|
|
34
|
-
#isClosed = false;
|
|
35
|
-
constructor(instancePort, mdnsBroadcaster, onclose) {
|
|
36
|
-
this.#instancePort = instancePort;
|
|
37
|
-
this.#mdnsBroadcaster = mdnsBroadcaster;
|
|
38
|
-
this.#onclose = onclose;
|
|
39
|
-
}
|
|
40
|
-
async close() {
|
|
41
|
-
if (this.#isClosed) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
this.#isClosed = true;
|
|
45
|
-
await this.#mdnsBroadcaster.expireAllAnnouncements(this.#instancePort);
|
|
46
|
-
this.#onclose();
|
|
47
|
-
}
|
|
48
|
-
async setCommissionMode(mode, deviceData) {
|
|
49
|
-
this.#assertOpen();
|
|
50
|
-
await this.#mdnsBroadcaster.setCommissionMode(this.#instancePort, mode, deviceData);
|
|
51
|
-
}
|
|
52
|
-
/** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
|
|
53
|
-
async setFabrics(fabrics, expireCommissioningAnnouncements = false) {
|
|
54
|
-
this.#assertOpen();
|
|
55
|
-
if (expireCommissioningAnnouncements) {
|
|
56
|
-
await this.#mdnsBroadcaster.expireCommissioningAnnouncement(this.#instancePort);
|
|
57
|
-
}
|
|
58
|
-
await this.#mdnsBroadcaster.setFabrics(this.#instancePort, fabrics);
|
|
59
|
-
}
|
|
60
|
-
/** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
|
|
61
|
-
async setCommissionerInfo(commissionerData) {
|
|
62
|
-
this.#assertOpen();
|
|
63
|
-
await this.#mdnsBroadcaster.setCommissionerInfo(this.#instancePort, commissionerData);
|
|
64
|
-
}
|
|
65
|
-
async announce() {
|
|
66
|
-
this.#assertOpen();
|
|
67
|
-
await this.#mdnsBroadcaster.announce(this.#instancePort);
|
|
68
|
-
}
|
|
69
|
-
async expireFabricAnnouncement() {
|
|
70
|
-
this.#assertOpen();
|
|
71
|
-
await this.#mdnsBroadcaster.expireFabricAnnouncement(this.#instancePort);
|
|
72
|
-
}
|
|
73
|
-
async expireCommissioningAnnouncement() {
|
|
74
|
-
this.#assertOpen();
|
|
75
|
-
await this.#mdnsBroadcaster.expireCommissioningAnnouncement(this.#instancePort);
|
|
76
|
-
}
|
|
77
|
-
async expireAllAnnouncements() {
|
|
78
|
-
this.#assertOpen();
|
|
79
|
-
await this.#mdnsBroadcaster.expireAllAnnouncements(this.#instancePort);
|
|
80
|
-
}
|
|
81
|
-
#assertOpen() {
|
|
82
|
-
if (this.#isClosed) {
|
|
83
|
-
throw new import_general.ImplementationError("Illegal operation on closed MdnsInstanceBroadcaster");
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=MdnsInstanceBroadcaster.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/mdns/MdnsInstanceBroadcaster.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAoC;AANpC;AAAA;AAAA;AAAA;AAAA;AAoBO,MAAM,wBAAuD;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACT,YAAY;AAAA,EAEZ,YAAY,cAAsB,iBAAkC,SAAqB;AACrF,SAAK,gBAAgB;AACrB,SAAK,mBAAmB;AACxB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,QAAQ;AACV,QAAI,KAAK,WAAW;AAChB;AAAA,IACJ;AACA,SAAK,YAAY;AAEjB,UAAM,KAAK,iBAAiB,uBAAuB,KAAK,aAAa;AACrE,SAAK,SAAS;AAAA,EAClB;AAAA,EAEA,MAAM,kBAAkB,MAAc,YAA2C;AAC7E,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,kBAAkB,KAAK,eAAe,MAAM,UAAU;AAAA,EACtF;AAAA;AAAA,EAGA,MAAM,WAAW,SAAmB,mCAAmC,OAAO;AAC1E,SAAK,YAAY;AACjB,QAAI,kCAAkC;AAClC,YAAM,KAAK,iBAAiB,gCAAgC,KAAK,aAAa;AAAA,IAClF;AACA,UAAM,KAAK,iBAAiB,WAAW,KAAK,eAAe,OAAO;AAAA,EACtE;AAAA;AAAA,EAGA,MAAM,oBAAoB,kBAA4C;AAClE,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,oBAAoB,KAAK,eAAe,gBAAgB;AAAA,EACxF;AAAA,EAEA,MAAM,WAAW;AACb,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,SAAS,KAAK,aAAa;AAAA,EAC3D;AAAA,EAEA,MAAM,2BAA2B;AAC7B,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,yBAAyB,KAAK,aAAa;AAAA,EAC3E;AAAA,EAEA,MAAM,kCAAkC;AACpC,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,gCAAgC,KAAK,aAAa;AAAA,EAClF;AAAA,EAEA,MAAM,yBAAyB;AAC3B,SAAK,YAAY;AACjB,UAAM,KAAK,iBAAiB,uBAAuB,KAAK,aAAa;AAAA,EACzE;AAAA,EAEA,cAAc;AACV,QAAI,KAAK,WAAW;AAChB,YAAM,IAAI,mCAAoB,qDAAqD;AAAA,IACvF;AAAA,EACJ;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,QAAQ,EAER,WAAW,EACX,UAAU,EAUV,QAAQ,EAGR,OAAO,EAEP,eAAe,EAIf,kBAAkB,EAGrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAC1C,OAAO,EACH,oBAAoB,EACpB,+BAA+B,EAC/B,aAAa,EACb,iBAAiB,EACjB,OAAO,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAkB7C,KAAK,4BAA4B,GAAG,eAAe,GAAG,QAAQ,CAAC;AAoC/D;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACtC,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IAExB,mCAAmC;IACnC,kBAAkB,EAAE;QAChB,aAAa,EAAE,UAAU,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP;AAED;;;GAGG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACvC,QAAQ,CAAC,IAAI,mBAAmB;WAEnB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAsDnF,eAAe,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO;IAcrE,uDAAuD;IACvD,IAAI,uBAAuB,mEAE1B;IA+VD;;;OAGG;IACG,qBAAqB,CACvB,EAAE,aAAa,EAAE,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,MAAM,EACvB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAwBzC,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,UAAO;IAKtF,mCAAmC,CAAC,UAAU,EAAE,+BAA+B,EAAE,cAAc,UAAO;IAQtG,8BAA8B,CAAC,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAoLxE;;;;;;;OAOG;IACG,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAI,EAClB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiBlC;;;OAGG;IACG,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B;mBAlOvD,eAAe,EAAE;;;;;;;;;;;;;;;;;oBAvjBxB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IA0xBd;;OAEG;IACG,KAAK;IA8tBX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa;IAmBnD,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CASvF"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/mdns/MdnsScanner.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["queries", "answers", "commissionable", "ttl", "queryId", "value", "discoveredAt"]
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceBroadcaster.d.ts","sourceRoot":"","sources":["../../../src/common/InstanceBroadcaster.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Crypto, Network } from "#general";
|
|
7
|
-
import { CommissionerInstanceData, CommissioningModeInstanceData, OperationalInstanceData } from "../common/InstanceBroadcaster.js";
|
|
8
|
-
import { Fabric } from "../fabric/Fabric.js";
|
|
9
|
-
import { MdnsInstanceBroadcaster } from "./MdnsInstanceBroadcaster.js";
|
|
10
|
-
import { MdnsServer } from "./MdnsServer.js";
|
|
11
|
-
/**
|
|
12
|
-
* This class is handing MDNS Announcements for multiple instances/devices
|
|
13
|
-
*/
|
|
14
|
-
export declare class MdnsBroadcaster {
|
|
15
|
-
#private;
|
|
16
|
-
static create(crypto: Crypto, network: Network, options?: {
|
|
17
|
-
enableIpv4?: boolean;
|
|
18
|
-
multicastInterface?: string;
|
|
19
|
-
}): Promise<MdnsBroadcaster>;
|
|
20
|
-
constructor(crypto: Crypto, network: Network, mdnsServer: MdnsServer, enableIpv4?: boolean);
|
|
21
|
-
createInstanceBroadcaster(port: number): MdnsInstanceBroadcaster;
|
|
22
|
-
/** Set the Broadcaster data to announce a device ready for commissioning in a special mode */
|
|
23
|
-
setCommissionMode(announcedNetPort: number, mode: number, commissioningModeData: CommissioningModeInstanceData): Promise<void>;
|
|
24
|
-
/** Set the Broadcaster Data to announce a device for operative discovery (aka "already paired") */
|
|
25
|
-
setFabrics(announcedNetPort: number, fabrics: Fabric[], { sessionIdleInterval, sessionActiveInterval, sessionActiveThreshold, }?: OperationalInstanceData): Promise<void>;
|
|
26
|
-
/** Set the Broadcaster data to announce a Commissioner (aka Commissioner discovery) */
|
|
27
|
-
setCommissionerInfo(announcedNetPort: number, { deviceName, deviceType, vendorId, productId, sessionIdleInterval, sessionActiveInterval, sessionActiveThreshold, }: CommissionerInstanceData): Promise<void>;
|
|
28
|
-
announce(announcementPort: number): Promise<void>;
|
|
29
|
-
expireFabricAnnouncement(announcedNetPort: number): Promise<void>;
|
|
30
|
-
expireCommissioningAnnouncement(announcedNetPort: number): Promise<void>;
|
|
31
|
-
expireAllAnnouncements(announcedNetPort: number): Promise<void>;
|
|
32
|
-
close(): Promise<void>;
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=MdnsBroadcaster.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsBroadcaster.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsBroadcaster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAKH,MAAM,EAMN,OAAO,EAMV,MAAM,UAAU,CAAC;AAElB,OAAO,EACH,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EAG1B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAoB7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAoB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAW/D;;GAEG;AACH,qBAAa,eAAe;;WASX,MAAM,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE;gBAWvD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,OAAO;IAO1F,yBAAyB,CAAC,IAAI,EAAE,MAAM;IA+DtC,8FAA8F;IACxF,iBAAiB,CACnB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,qBAAqB,EAAE,6BAA6B;IA0FxD,mGAAmG;IAC7F,UAAU,CACZ,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,EACI,mBAA8C,EAC9C,qBAAkD,EAClD,sBAAoD,GACvD,GAAE,uBAA4B;IAsFnC,uFAAuF;IACjF,mBAAmB,CACrB,gBAAgB,EAAE,MAAM,EACxB,EACI,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,mBAA8C,EAC9C,qBAAkD,EAClD,sBAAoD,GACvD,EAAE,wBAAwB;IAoDzB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAIjC,wBAAwB,CAAC,gBAAgB,EAAE,MAAM;IAOjD,+BAA+B,CAAC,gBAAgB,EAAE,MAAM;IAOxD,sBAAsB,CAAC,gBAAgB,EAAE,MAAM;IAW/C,KAAK;CAUd"}
|