@matter/protocol 0.12.0-alpha.0-20241220-ad0dea627 → 0.12.0-alpha.0-20241220-c66941cd7
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/certificate/CertificateAuthority.js +2 -2
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +7 -6
- package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.d.ts +2 -4
- package/dist/cjs/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsScanner.js +130 -51
- package/dist/cjs/mdns/MdnsScanner.js.map +2 -2
- package/dist/cjs/mdns/MdnsServer.d.ts +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +20 -8
- package/dist/cjs/mdns/MdnsServer.js.map +1 -1
- package/dist/cjs/peer/ControllerDiscovery.js +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 +27 -10
- package/dist/cjs/peer/PeerSet.js.map +2 -2
- package/dist/cjs/protocol/MessageExchange.d.ts +5 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +2 -2
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +7 -6
- package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
- package/dist/esm/mdns/MdnsScanner.d.ts +2 -4
- package/dist/esm/mdns/MdnsScanner.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsScanner.js +130 -51
- package/dist/esm/mdns/MdnsScanner.js.map +2 -2
- package/dist/esm/mdns/MdnsServer.d.ts +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +20 -8
- package/dist/esm/mdns/MdnsServer.js.map +1 -1
- package/dist/esm/peer/ControllerDiscovery.js +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 +27 -10
- package/dist/esm/peer/PeerSet.js.map +2 -2
- package/dist/esm/protocol/MessageExchange.d.ts +5 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/package.json +6 -6
- package/src/certificate/CertificateAuthority.ts +2 -2
- package/src/interaction/InteractionMessenger.ts +9 -5
- package/src/mdns/MdnsScanner.ts +190 -59
- package/src/mdns/MdnsServer.ts +24 -8
- package/src/peer/ControllerDiscovery.ts +1 -1
- package/src/peer/PeerSet.ts +34 -11
- package/src/protocol/MessageExchange.ts +6 -0
|
@@ -51,10 +51,10 @@ class CertificateAuthority {
|
|
|
51
51
|
this.rootKeyIdentifier = certValues.rootKeyIdentifier;
|
|
52
52
|
this.rootCertBytes = certValues.rootCertBytes;
|
|
53
53
|
this.nextCertificateId = BigInt(certValues.nextCertificateId);
|
|
54
|
-
logger.
|
|
54
|
+
logger.info(`Loaded stored credentials with ID ${this.rootCertId}`);
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
|
-
logger.
|
|
57
|
+
logger.info(`Created new credentials with ID ${this.rootCertId}`);
|
|
58
58
|
if (options instanceof import_general.StorageContext) {
|
|
59
59
|
await options.set({
|
|
60
60
|
rootCertId: this.rootCertId,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/certificate/CertificateAuthority.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAcO;AAEP,gCAQO;AA9BP;AAAA;AAAA;AAAA;AAAA;AAgCA,MAAM,SAAS,sBAAO,IAAI,sBAAsB;AAKzC,MAAM,qBAAqB;AAAA,EACtB,aAAa,OAAO,CAAC;AAAA,EACrB,cAAc,sBAAO,cAAc;AAAA,EACnC,oBAAiD,sBAAO,KAAK,KAAK,YAAY,SAAS,EAAE,MAAM,GAAG,EAAE;AAAA,EACpG,gBAA6C,KAAK,kBAAkB;AAAA,EACpE,oBAAoB,OAAO,CAAC;AAAA,EACpC;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,aAAa,OAAO,SAA8D;AAC9E,eAAO,yBAAS,sBAAsB,OAAO;AAAA,EACjD;AAAA,EAEA,YAAY,SAA8D;AACtE,SAAK,oBAAgB,6BAAa,MAAM,YAAY;AAEhD,YAAM,aAAa,mBAAmB,gCAAiB,MAAM,QAAQ,OAAO,IAAI;AAEhF,WACK,OAAO,WAAW,eAAe,YAAY,OAAO,WAAW,eAAe,cAC9E,YAAY,OAAO,WAAW,WAAW,KAAK,OAAO,WAAW,gBAAgB,aACjF,YAAY,OAAO,WAAW,iBAAiB,KAC/C,YAAY,OAAO,WAAW,aAAa,MAC1C,OAAO,WAAW,sBAAsB,YAAY,OAAO,WAAW,sBAAsB,WAC/F;AACE,aAAK,aAAa,OAAO,WAAW,UAAU;AAC9C,aAAK,kBAAc,2BAAW,WAAW,WAA4B;AACrE,aAAK,oBAAoB,WAAW;AACpC,aAAK,gBAAgB,WAAW;AAChC,aAAK,oBAAoB,OAAO,WAAW,iBAAiB;AAC5D,eAAO,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -34,7 +34,7 @@ declare class InteractionMessenger {
|
|
|
34
34
|
constructor(exchange: MessageExchange);
|
|
35
35
|
calculateMaximumPeerResponseTime(expectedProcessingTimeMs?: number): number;
|
|
36
36
|
send(messageType: number, payload: Uint8Array, options?: ExchangeSendOptions): Promise<void>;
|
|
37
|
-
sendStatus(status: StatusCode): Promise<void>;
|
|
37
|
+
sendStatus(status: StatusCode, options?: ExchangeSendOptions): Promise<void>;
|
|
38
38
|
waitForSuccess(expectedProcessingTimeMs?: number): Promise<void>;
|
|
39
39
|
nextMessage(expectedMessageType?: number, expectedProcessingTimeMs?: number): Promise<Message>;
|
|
40
40
|
close(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionMessenger.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACH,MAAM,EACN,UAAU,EAIV,aAAa,EACb,oBAAoB,EAGpB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EAGd,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,cAAc,EACjB,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAAe,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EACH,mBAAmB,EACnB,eAAe,EAGlB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,iBAAiB,EAKpB,MAAM,2BAA2B,CAAC;AAEnC,oBAAY,WAAW;IACnB,cAAc,IAAO;IACrB,WAAW,IAAO;IAClB,gBAAgB,IAAO;IACvB,iBAAiB,IAAO;IACxB,UAAU,IAAO;IACjB,YAAY,IAAO;IACnB,aAAa,IAAO;IACpB,aAAa,IAAO;IACpB,cAAc,IAAO;IACrB,YAAY,KAAO;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAIpE,cAAM,oBAAoB;IACV,SAAS,CAAC,QAAQ,EAAE,eAAe;gBAAzB,QAAQ,EAAE,eAAe;IAE/C,gCAAgC,CAAC,wBAAwB,CAAC,EAAE,MAAM;IAIlE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAI5E,UAAU,CAAC,MAAM,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"InteractionMessenger.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionMessenger.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,10 +60,11 @@ class InteractionMessenger {
|
|
|
60
60
|
send(messageType, payload, options) {
|
|
61
61
|
return this.exchange.send(messageType, payload, options);
|
|
62
62
|
}
|
|
63
|
-
sendStatus(status) {
|
|
63
|
+
sendStatus(status, options) {
|
|
64
64
|
return this.send(
|
|
65
65
|
1 /* StatusResponse */,
|
|
66
|
-
import_types.TlvStatusResponse.encode({ status, interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION })
|
|
66
|
+
import_types.TlvStatusResponse.encode({ status, interactionModelRevision: import_model.Specification.INTERACTION_MODEL_REVISION }),
|
|
67
|
+
options
|
|
67
68
|
);
|
|
68
69
|
}
|
|
69
70
|
async waitForSuccess(expectedProcessingTimeMs) {
|
|
@@ -320,7 +321,7 @@ class IncomingInteractionClientMessenger extends InteractionMessenger {
|
|
|
320
321
|
const report = import_types.TlvDataReport.decode(dataReportMessage.payload);
|
|
321
322
|
if (expectedSubscriptionIds !== void 0) {
|
|
322
323
|
if (report.subscriptionId === void 0 || !expectedSubscriptionIds.includes(report.subscriptionId)) {
|
|
323
|
-
await this.sendStatus(import_types.StatusCode.InvalidSubscription);
|
|
324
|
+
await this.sendStatus(import_types.StatusCode.InvalidSubscription, { multipleMessageInteraction: true });
|
|
324
325
|
throw new import_general.UnexpectedDataError(
|
|
325
326
|
report.subscriptionId === void 0 ? "Invalid Data report without Subscription ID" : `Invalid Data report with unexpected subscription ID ${report.subscriptionId}`
|
|
326
327
|
);
|
|
@@ -341,9 +342,9 @@ class IncomingInteractionClientMessenger extends InteractionMessenger {
|
|
|
341
342
|
eventValues.push(...report.eventReports);
|
|
342
343
|
}
|
|
343
344
|
if (report.moreChunkedMessages) {
|
|
344
|
-
await this.sendStatus(import_types.StatusCode.Success);
|
|
345
|
+
await this.sendStatus(import_types.StatusCode.Success, { multipleMessageInteraction: true });
|
|
345
346
|
} else if (!report.suppressResponse) {
|
|
346
|
-
this.sendStatus(import_types.StatusCode.Success).catch(
|
|
347
|
+
this.sendStatus(import_types.StatusCode.Success, { multipleMessageInteraction: true }).catch(
|
|
347
348
|
(error) => logger.info("Error while sending final Success after receiving all DataReport chunks", error)
|
|
348
349
|
);
|
|
349
350
|
}
|
|
@@ -372,7 +373,7 @@ class InteractionClientMessenger extends IncomingInteractionClientMessenger {
|
|
|
372
373
|
}
|
|
373
374
|
return await this.exchange.send(messageType, payload, options);
|
|
374
375
|
} catch (error) {
|
|
375
|
-
if (error instanceof import_MessageExchange.RetransmissionLimitReachedError || error instanceof import_ExchangeManager.ChannelNotConnectedError) {
|
|
376
|
+
if ((error instanceof import_MessageExchange.RetransmissionLimitReachedError || error instanceof import_ExchangeManager.ChannelNotConnectedError) && !options?.multipleMessageInteraction) {
|
|
376
377
|
logger.debug(
|
|
377
378
|
`${error instanceof import_MessageExchange.RetransmissionLimitReachedError ? "Retransmission limit reached" : "Channel not connected"}, trying to reconnect and resend the message.`
|
|
378
379
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/interaction/InteractionMessenger.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["MessageType"]
|
|
6
6
|
}
|
|
@@ -38,10 +38,8 @@ export declare class MdnsScanner implements Scanner {
|
|
|
38
38
|
*/
|
|
39
39
|
findCommissionableDevices(identifier: CommissionableDeviceIdentifiers, timeoutSeconds?: number, ignoreExistingRecords?: boolean): Promise<CommissionableDevice[]>;
|
|
40
40
|
/**
|
|
41
|
-
* Discovers commissionable devices based on a defined identifier and returns the first found entries.
|
|
42
|
-
*
|
|
43
|
-
* @param callback
|
|
44
|
-
* @param timeoutSeconds
|
|
41
|
+
* Discovers commissionable devices based on a defined identifier and returns the first found entries.
|
|
42
|
+
* If an own cancelSignal promise is used the discovery can only be cancelled via this signal!
|
|
45
43
|
*/
|
|
46
44
|
findCommissionableDevicesContinuously(identifier: CommissionableDeviceIdentifiers, callback: (device: CommissionableDevice) => void, timeoutSeconds?: number, cancelSignal?: Promise<void>): Promise<CommissionableDevice[]>;
|
|
47
45
|
getDiscoveredCommissionableDevices(identifier: CommissionableDeviceIdentifiers): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,WAAW,EACX,UAAU,EASV,QAAQ,EAGR,OAAO,EACP,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;
|
|
1
|
+
{"version":3,"file":"MdnsScanner.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAEH,WAAW,EACX,UAAU,EASV,QAAQ,EAGR,OAAO,EACP,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;AAyB/D;;;GAGG;AACH,qBAAa,WAAY,YAAW,OAAO;;IACvC,IAAI,IAAI,gBAEP;WAEY,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;gBAmCnF,eAAe,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,OAAO;IA8PrE;;;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;IAyBzC,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;IAkBlC;;;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;mBAnOvD,eAAe,EAAE;;;;;;;;;;;;;;;;;oBAtZxB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IA0nBd;;OAEG;IACG,KAAK;IAufX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa;IAgBnD,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CASvF"}
|
|
@@ -85,7 +85,9 @@ class MdnsScanner {
|
|
|
85
85
|
this.#queryTimer?.stop();
|
|
86
86
|
const allQueries = Array.from(this.#activeAnnounceQueries.values());
|
|
87
87
|
const queries = allQueries.flatMap(({ queries: queries2 }) => queries2);
|
|
88
|
-
const answers = allQueries.flatMap(
|
|
88
|
+
const answers = allQueries.flatMap(
|
|
89
|
+
({ answers: answers2 }) => Object.values(answers2).flatMap((answer) => Object.values(answer).flatMap((records) => records))
|
|
90
|
+
);
|
|
89
91
|
this.#queryTimer = import_general.Time.getTimer(
|
|
90
92
|
"MDNS discovery",
|
|
91
93
|
this.#nextAnnounceIntervalSeconds * 1e3,
|
|
@@ -145,7 +147,7 @@ class MdnsScanner {
|
|
|
145
147
|
* Set new DnsQuery records to the list of active queries to discover devices in the network and start sending them
|
|
146
148
|
* out. When entry already exists the query is overwritten and answers are always added.
|
|
147
149
|
*/
|
|
148
|
-
#setQueryRecords(queryId, queries, answers =
|
|
150
|
+
#setQueryRecords(queryId, queries, answers = {}) {
|
|
149
151
|
const activeExistingQuery = this.#activeAnnounceQueries.get(queryId);
|
|
150
152
|
if (activeExistingQuery) {
|
|
151
153
|
const { queries: existingQueries } = activeExistingQuery;
|
|
@@ -161,7 +163,7 @@ class MdnsScanner {
|
|
|
161
163
|
return;
|
|
162
164
|
}
|
|
163
165
|
queries = [...newQueries, ...existingQueries];
|
|
164
|
-
answers =
|
|
166
|
+
answers = this.#combineStructuredAnswers(activeExistingQuery.answers, answers);
|
|
165
167
|
}
|
|
166
168
|
this.#activeAnnounceQueries.set(queryId, { queries, answers });
|
|
167
169
|
logger.debug(`Set ${queries.length} query records for query ${queryId}: ${import_general.Logger.toJSON(queries)}`);
|
|
@@ -170,7 +172,9 @@ class MdnsScanner {
|
|
|
170
172
|
this.#queryTimer = import_general.Time.getTimer("MDNS discovery", 0, () => this.#sendQueries()).start();
|
|
171
173
|
}
|
|
172
174
|
#getActiveQueryEarlierAnswers() {
|
|
173
|
-
return
|
|
175
|
+
return this.#combineStructuredAnswers(
|
|
176
|
+
...[...this.#activeAnnounceQueries.values()].map(({ answers }) => answers)
|
|
177
|
+
);
|
|
174
178
|
}
|
|
175
179
|
/**
|
|
176
180
|
* Remove a query from the list of active queries because discovery has finished or timed out and stop sending it
|
|
@@ -238,10 +242,13 @@ class MdnsScanner {
|
|
|
238
242
|
* Registers a deferred promise for a specific queryId together with a timeout and return the promise.
|
|
239
243
|
* The promise will be resolved when the timer runs out latest.
|
|
240
244
|
*/
|
|
241
|
-
async #registerWaiterPromise(queryId, timeoutSeconds, resolveOnUpdatedRecords = true) {
|
|
245
|
+
async #registerWaiterPromise(queryId, timeoutSeconds, resolveOnUpdatedRecords = true, cancelResolver) {
|
|
242
246
|
const { promise, resolver } = (0, import_general.createPromise)();
|
|
243
|
-
const timer = timeoutSeconds !== void 0 ? import_general.Time.getTimer("MDNS timeout", timeoutSeconds * 1e3, () =>
|
|
244
|
-
|
|
247
|
+
const timer = timeoutSeconds !== void 0 ? import_general.Time.getTimer("MDNS timeout", timeoutSeconds * 1e3, () => {
|
|
248
|
+
cancelResolver?.();
|
|
249
|
+
this.#finishWaiter(queryId, true);
|
|
250
|
+
}).start() : void 0;
|
|
251
|
+
this.#recordWaiters.set(queryId, { resolver, timer, resolveOnUpdatedRecords, cancelResolver });
|
|
245
252
|
logger.debug(
|
|
246
253
|
`Registered waiter for query ${queryId} with ${timeoutSeconds !== void 0 ? `timeout ${timeoutSeconds} seconds` : "no timeout"}${resolveOnUpdatedRecords ? "" : " (not resolving on updated records)"}`
|
|
247
254
|
);
|
|
@@ -304,6 +311,8 @@ class MdnsScanner {
|
|
|
304
311
|
}
|
|
305
312
|
cancelCommissionableDeviceDiscovery(identifier, resolvePromise = true) {
|
|
306
313
|
const queryId = this.#buildCommissionableQueryIdentifier(identifier);
|
|
314
|
+
const { cancelResolver } = this.#recordWaiters.get(queryId) ?? {};
|
|
315
|
+
cancelResolver?.();
|
|
307
316
|
this.#finishWaiter(queryId, resolvePromise);
|
|
308
317
|
}
|
|
309
318
|
getDiscoveredOperationalDevice({ operationalId }, nodeId) {
|
|
@@ -476,22 +485,27 @@ class MdnsScanner {
|
|
|
476
485
|
return storedRecords;
|
|
477
486
|
}
|
|
478
487
|
/**
|
|
479
|
-
* Discovers commissionable devices based on a defined identifier and returns the first found entries.
|
|
480
|
-
*
|
|
481
|
-
* @param callback
|
|
482
|
-
* @param timeoutSeconds
|
|
488
|
+
* Discovers commissionable devices based on a defined identifier and returns the first found entries.
|
|
489
|
+
* If an own cancelSignal promise is used the discovery can only be cancelled via this signal!
|
|
483
490
|
*/
|
|
484
491
|
async findCommissionableDevicesContinuously(identifier, callback, timeoutSeconds, cancelSignal) {
|
|
485
492
|
const discoveredDevices = /* @__PURE__ */ new Set();
|
|
486
|
-
const
|
|
487
|
-
const discoveryEndTime = timeoutSeconds ? now + timeoutSeconds * 1e3 : void 0;
|
|
493
|
+
const discoveryEndTime = timeoutSeconds ? import_general.Time.nowMs() + timeoutSeconds * 1e3 : void 0;
|
|
488
494
|
const queryId = this.#buildCommissionableQueryIdentifier(identifier);
|
|
489
495
|
this.#setQueryRecords(queryId, this.#getCommissionableQueryRecords(identifier));
|
|
496
|
+
let queryResolver;
|
|
497
|
+
if (cancelSignal === void 0) {
|
|
498
|
+
const { promise, resolver } = (0, import_general.createPromise)();
|
|
499
|
+
cancelSignal = promise;
|
|
500
|
+
queryResolver = resolver;
|
|
501
|
+
}
|
|
490
502
|
let canceled = false;
|
|
491
503
|
cancelSignal?.then(
|
|
492
504
|
() => {
|
|
493
505
|
canceled = true;
|
|
494
|
-
|
|
506
|
+
if (queryResolver === void 0) {
|
|
507
|
+
this.#finishWaiter(queryId, true);
|
|
508
|
+
}
|
|
495
509
|
},
|
|
496
510
|
(cause) => {
|
|
497
511
|
logger.error("Unexpected error canceling commissioning", cause);
|
|
@@ -507,12 +521,12 @@ class MdnsScanner {
|
|
|
507
521
|
});
|
|
508
522
|
let remainingTime;
|
|
509
523
|
if (discoveryEndTime !== void 0) {
|
|
510
|
-
|
|
511
|
-
if (
|
|
524
|
+
remainingTime = discoveryEndTime - import_general.Time.nowMs();
|
|
525
|
+
if (remainingTime <= 0) {
|
|
512
526
|
break;
|
|
513
527
|
}
|
|
514
528
|
}
|
|
515
|
-
await this.#registerWaiterPromise(queryId, remainingTime, false);
|
|
529
|
+
await this.#registerWaiterPromise(queryId, remainingTime, false, queryResolver);
|
|
516
530
|
}
|
|
517
531
|
return this.#getCommissionableDeviceRecords(identifier);
|
|
518
532
|
}
|
|
@@ -531,6 +545,74 @@ class MdnsScanner {
|
|
|
531
545
|
(queryId) => this.#finishWaiter(queryId, !!this.#recordWaiters.get(queryId)?.timer)
|
|
532
546
|
);
|
|
533
547
|
}
|
|
548
|
+
/** Converts the discovery data into a structured format for performant access. */
|
|
549
|
+
#structureAnswers(...answersList) {
|
|
550
|
+
const structuredAnswers = {};
|
|
551
|
+
answersList.forEach(
|
|
552
|
+
(answers) => answers.forEach((answer) => {
|
|
553
|
+
const { name, recordType } = answer;
|
|
554
|
+
if (name.endsWith(import_MdnsConsts.MATTER_SERVICE_QNAME)) {
|
|
555
|
+
structuredAnswers.operational = structuredAnswers.operational ?? {};
|
|
556
|
+
structuredAnswers.operational[recordType] = structuredAnswers.operational[recordType] ?? [];
|
|
557
|
+
structuredAnswers.operational[recordType].push(answer);
|
|
558
|
+
} else if (name.endsWith(import_MdnsConsts.MATTER_COMMISSION_SERVICE_QNAME)) {
|
|
559
|
+
structuredAnswers.commissionable = structuredAnswers.commissionable ?? {};
|
|
560
|
+
structuredAnswers.commissionable[recordType] = structuredAnswers.commissionable[recordType] ?? [];
|
|
561
|
+
structuredAnswers.commissionable[recordType].push(answer);
|
|
562
|
+
} else if (recordType === import_general.DnsRecordType.A || recordType === import_general.DnsRecordType.AAAA) {
|
|
563
|
+
structuredAnswers.addresses = structuredAnswers.addresses ?? {};
|
|
564
|
+
structuredAnswers.addresses[name] = structuredAnswers.addresses[name] ?? [];
|
|
565
|
+
structuredAnswers.addresses[name].push(answer);
|
|
566
|
+
}
|
|
567
|
+
})
|
|
568
|
+
);
|
|
569
|
+
return structuredAnswers;
|
|
570
|
+
}
|
|
571
|
+
#combineStructuredAnswers(...answersList) {
|
|
572
|
+
const combinedAnswers = {};
|
|
573
|
+
for (const answers of answersList) {
|
|
574
|
+
if (answers.operational) {
|
|
575
|
+
combinedAnswers.operational = combinedAnswers.operational ?? {};
|
|
576
|
+
for (const [recordType, records] of Object.entries(answers.operational)) {
|
|
577
|
+
combinedAnswers.operational[recordType] = combinedAnswers.operational[recordType] ?? /* @__PURE__ */ new Map();
|
|
578
|
+
records.forEach((record) => {
|
|
579
|
+
combinedAnswers.operational[recordType].set(record.name, record);
|
|
580
|
+
});
|
|
581
|
+
}
|
|
582
|
+
}
|
|
583
|
+
if (answers.commissionable) {
|
|
584
|
+
combinedAnswers.commissionable = combinedAnswers.commissionable ?? {};
|
|
585
|
+
for (const [recordType, records] of Object.entries(answers.commissionable)) {
|
|
586
|
+
combinedAnswers.commissionable[recordType] = combinedAnswers.commissionable[recordType] ?? /* @__PURE__ */ new Map();
|
|
587
|
+
records.forEach((record) => {
|
|
588
|
+
combinedAnswers.commissionable[recordType].set(record.name, record);
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
if (answers.addresses) {
|
|
593
|
+
combinedAnswers.addresses = combinedAnswers.addresses ?? {};
|
|
594
|
+
for (const [name, records] of Object.entries(answers.addresses)) {
|
|
595
|
+
combinedAnswers.addresses[name] = combinedAnswers.addresses[name] ?? [];
|
|
596
|
+
combinedAnswers.addresses[name].push(...records);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
}
|
|
600
|
+
return {
|
|
601
|
+
operational: combinedAnswers.operational ? Object.fromEntries(
|
|
602
|
+
Object.entries(combinedAnswers.operational).map(([recordType, records]) => [
|
|
603
|
+
recordType,
|
|
604
|
+
Array.from(records.values())
|
|
605
|
+
])
|
|
606
|
+
) : void 0,
|
|
607
|
+
commissionable: combinedAnswers.commissionable ? Object.fromEntries(
|
|
608
|
+
Object.entries(combinedAnswers.commissionable).map(([recordType, records]) => [
|
|
609
|
+
recordType,
|
|
610
|
+
Array.from(records.values())
|
|
611
|
+
])
|
|
612
|
+
) : void 0,
|
|
613
|
+
addresses: combinedAnswers.addresses
|
|
614
|
+
};
|
|
615
|
+
}
|
|
534
616
|
/**
|
|
535
617
|
* Main method to handle all incoming DNS messages.
|
|
536
618
|
* It will parse the message and check if it contains relevant discovery records.
|
|
@@ -541,43 +623,39 @@ class MdnsScanner {
|
|
|
541
623
|
if (message === void 0) return;
|
|
542
624
|
if (message.messageType !== import_general.DnsMessageType.Response && message.messageType !== import_general.DnsMessageType.TruncatedResponse)
|
|
543
625
|
return;
|
|
544
|
-
const answers = [...message.answers, ...message.additionalRecords];
|
|
545
|
-
|
|
546
|
-
this.#
|
|
626
|
+
const answers = this.#structureAnswers([...message.answers, ...message.additionalRecords]);
|
|
627
|
+
const formerAnswers = this.#getActiveQueryEarlierAnswers();
|
|
628
|
+
this.#handleOperationalRecords(answers, formerAnswers, netInterface);
|
|
629
|
+
this.#handleCommissionableRecords(answers, formerAnswers, netInterface);
|
|
547
630
|
}
|
|
548
631
|
#handleIpRecords(answers, target, netInterface) {
|
|
549
|
-
const ipRecords = answers.filter(
|
|
550
|
-
({
|
|
632
|
+
const ipRecords = answers.flatMap((answer) => answer.addresses?.[target] ?? []).filter(
|
|
633
|
+
({ recordType }) => recordType === import_general.DnsRecordType.AAAA || recordType === import_general.DnsRecordType.A && this.#enableIpv4
|
|
551
634
|
);
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
ttl
|
|
555
|
-
|
|
635
|
+
const collectedIps = /* @__PURE__ */ new Map();
|
|
636
|
+
ipRecords.forEach((record) => {
|
|
637
|
+
const { value, ttl } = record;
|
|
638
|
+
if (value.startsWith("fe80::")) {
|
|
639
|
+
collectedIps.set(value, { value: `${value}%${netInterface}`, ttl });
|
|
640
|
+
} else {
|
|
641
|
+
collectedIps.set(value, { value, ttl });
|
|
642
|
+
}
|
|
643
|
+
});
|
|
644
|
+
return [...collectedIps.values()];
|
|
556
645
|
}
|
|
557
646
|
#handleOperationalRecords(answers, formerAnswers, netInterface) {
|
|
558
|
-
|
|
559
|
-
const operationalTxtRecords = answers.
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
if (
|
|
563
|
-
|
|
564
|
-
recordsHandled = true;
|
|
565
|
-
}
|
|
566
|
-
let operationalSrvRecords = answers.filter(
|
|
567
|
-
({ name, recordType }) => recordType === import_general.DnsRecordType.SRV && name.endsWith(import_MdnsConsts.MATTER_SERVICE_QNAME)
|
|
568
|
-
);
|
|
569
|
-
if (!operationalSrvRecords.length) {
|
|
570
|
-
operationalSrvRecords = formerAnswers.filter(
|
|
571
|
-
({ name, recordType }) => recordType === import_general.DnsRecordType.SRV && name.endsWith(import_MdnsConsts.MATTER_SERVICE_QNAME)
|
|
572
|
-
);
|
|
647
|
+
if (!answers.operational) return;
|
|
648
|
+
const operationalTxtRecords = answers.operational[import_general.DnsRecordType.TXT] ?? [];
|
|
649
|
+
operationalTxtRecords.forEach((record) => this.#handleOperationalTxtRecord(record, netInterface));
|
|
650
|
+
let operationalSrvRecords = answers.operational[import_general.DnsRecordType.SRV] ?? [];
|
|
651
|
+
if (!operationalSrvRecords.length && formerAnswers.operational) {
|
|
652
|
+
operationalSrvRecords = formerAnswers.operational[import_general.DnsRecordType.SRV] ?? [];
|
|
573
653
|
}
|
|
574
654
|
if (operationalSrvRecords.length) {
|
|
575
655
|
operationalSrvRecords.forEach(
|
|
576
656
|
(record) => this.#handleOperationalSrvRecord(record, answers, formerAnswers, netInterface)
|
|
577
657
|
);
|
|
578
|
-
recordsHandled = true;
|
|
579
658
|
}
|
|
580
|
-
return recordsHandled;
|
|
581
659
|
}
|
|
582
660
|
#handleOperationalTxtRecord(record, netInterface) {
|
|
583
661
|
const { name: matterName, value, ttl } = record;
|
|
@@ -633,7 +711,7 @@ class MdnsScanner {
|
|
|
633
711
|
}
|
|
634
712
|
return true;
|
|
635
713
|
}
|
|
636
|
-
const ips = this.#handleIpRecords([
|
|
714
|
+
const ips = this.#handleIpRecords([formerAnswers, answers], target, netInterface);
|
|
637
715
|
const deviceExisted = this.#operationalDeviceRecords.has(matterName);
|
|
638
716
|
const device = this.#operationalDeviceRecords.get(matterName) ?? {
|
|
639
717
|
deviceIdentifier: matterName,
|
|
@@ -678,13 +756,14 @@ class MdnsScanner {
|
|
|
678
756
|
return true;
|
|
679
757
|
}
|
|
680
758
|
#handleCommissionableRecords(answers, formerAnswers, netInterface) {
|
|
681
|
-
let commissionableRecords = answers.
|
|
682
|
-
if (!commissionableRecords.length) {
|
|
683
|
-
commissionableRecords = formerAnswers.
|
|
684
|
-
if (!commissionableRecords.length)
|
|
759
|
+
let commissionableRecords = answers.commissionable ?? {};
|
|
760
|
+
if (!commissionableRecords[import_general.DnsRecordType.SRV]?.length && !commissionableRecords[import_general.DnsRecordType.TXT]?.length) {
|
|
761
|
+
commissionableRecords = formerAnswers.commissionable ?? {};
|
|
762
|
+
if (!commissionableRecords[import_general.DnsRecordType.SRV]?.length && !commissionableRecords[import_general.DnsRecordType.TXT]?.length)
|
|
763
|
+
return;
|
|
685
764
|
}
|
|
686
765
|
const queryMissingDataForInstances = /* @__PURE__ */ new Set();
|
|
687
|
-
const txtRecords = commissionableRecords
|
|
766
|
+
const txtRecords = commissionableRecords[import_general.DnsRecordType.TXT] ?? [];
|
|
688
767
|
for (const record of txtRecords) {
|
|
689
768
|
const { name, ttl } = record;
|
|
690
769
|
if (ttl === 0) {
|
|
@@ -724,7 +803,7 @@ class MdnsScanner {
|
|
|
724
803
|
}
|
|
725
804
|
this.#commissionableDeviceRecords.set(name, parsedRecord);
|
|
726
805
|
}
|
|
727
|
-
const srvRecords = commissionableRecords
|
|
806
|
+
const srvRecords = commissionableRecords[import_general.DnsRecordType.SRV] ?? [];
|
|
728
807
|
for (const record of srvRecords) {
|
|
729
808
|
const storedRecord = this.#commissionableDeviceRecords.get(record.name);
|
|
730
809
|
if (storedRecord === void 0) continue;
|
|
@@ -740,7 +819,7 @@ class MdnsScanner {
|
|
|
740
819
|
continue;
|
|
741
820
|
}
|
|
742
821
|
const recordExisting = storedRecord.addresses.size > 0;
|
|
743
|
-
const ips = this.#handleIpRecords([
|
|
822
|
+
const ips = this.#handleIpRecords([formerAnswers, answers], target, netInterface);
|
|
744
823
|
if (ips.length > 0) {
|
|
745
824
|
for (const { value: ip, ttl: ttl2 } of ips) {
|
|
746
825
|
if (ttl2 === 0) {
|