@matter/protocol 0.16.0-alpha.0-20251001-7eb06da95 → 0.16.0-alpha.0-20251004-92135c7df
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/action/client/ReadScope.d.ts +4 -0
- package/dist/cjs/action/client/ReadScope.d.ts.map +1 -1
- package/dist/cjs/action/client/ReadScope.js +2 -1
- package/dist/cjs/action/client/ReadScope.js.map +1 -1
- package/dist/cjs/ble/Ble.d.ts +3 -3
- package/dist/cjs/ble/Ble.d.ts.map +1 -1
- package/dist/cjs/ble/Ble.js.map +1 -1
- package/dist/cjs/common/Scanner.d.ts +2 -2
- package/dist/cjs/common/Scanner.d.ts.map +1 -1
- package/dist/cjs/interaction/AttributeDataDecoder.d.ts +9 -7
- package/dist/cjs/interaction/AttributeDataDecoder.d.ts.map +1 -1
- package/dist/cjs/interaction/AttributeDataDecoder.js.map +1 -1
- package/dist/cjs/interaction/DecodedDataReport.d.ts +1 -0
- package/dist/cjs/interaction/DecodedDataReport.d.ts.map +1 -1
- package/dist/cjs/interaction/DecodedDataReport.js.map +1 -1
- package/dist/cjs/interaction/InteractionClient.d.ts +13 -3
- package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionClient.js +94 -67
- package/dist/cjs/interaction/InteractionClient.js.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.d.ts +10 -90
- package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/cjs/interaction/InteractionMessenger.js +98 -22
- package/dist/cjs/interaction/InteractionMessenger.js.map +2 -2
- package/dist/cjs/interaction/SubscriptionClient.d.ts +2 -2
- package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/cjs/interaction/SubscriptionClient.js +1 -1
- package/dist/cjs/interaction/SubscriptionClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsClient.d.ts +3 -3
- package/dist/cjs/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsClient.js +28 -14
- package/dist/cjs/mdns/MdnsClient.js.map +1 -1
- package/dist/cjs/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsServer.js +59 -5
- package/dist/cjs/mdns/MdnsServer.js.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.d.ts.map +1 -1
- package/dist/cjs/mdns/MdnsSocket.js +10 -1
- package/dist/cjs/mdns/MdnsSocket.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -2
- package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioner.js +7 -5
- package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
- package/dist/cjs/peer/OperationalPeer.d.ts +2 -2
- package/dist/cjs/peer/OperationalPeer.d.ts.map +1 -1
- package/dist/cjs/peer/PeerAddressStore.d.ts +3 -1
- package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
- package/dist/cjs/peer/PeerAddressStore.js.map +1 -1
- package/dist/cjs/peer/PeerSet.d.ts +3 -3
- package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
- package/dist/cjs/peer/PeerSet.js +14 -9
- package/dist/cjs/peer/PeerSet.js.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.d.ts +2 -2
- package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/cjs/protocol/ExchangeManager.js +21 -17
- package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts +1 -1
- package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageChannel.js +7 -5
- package/dist/cjs/protocol/MessageChannel.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +0 -1
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +6 -17
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/session/NodeSession.d.ts.map +1 -1
- package/dist/cjs/session/NodeSession.js +3 -3
- package/dist/cjs/session/NodeSession.js.map +1 -1
- package/dist/cjs/session/SessionIntervals.d.ts +1 -5
- package/dist/cjs/session/SessionIntervals.d.ts.map +1 -1
- package/dist/cjs/session/SessionIntervals.js.map +1 -1
- package/dist/cjs/session/case/CaseMessages.d.ts +18 -9
- package/dist/cjs/session/case/CaseMessages.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseMessages.js.map +1 -1
- package/dist/cjs/session/case/CaseMessenger.d.ts +4 -62
- package/dist/cjs/session/case/CaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseMessenger.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.d.ts +20 -9
- package/dist/cjs/session/pase/PaseMessages.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseMessages.js +3 -3
- package/dist/cjs/session/pase/PaseMessages.js.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.d.ts +3 -51
- package/dist/cjs/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseMessenger.js.map +1 -1
- package/dist/esm/action/client/ReadScope.d.ts +4 -0
- package/dist/esm/action/client/ReadScope.d.ts.map +1 -1
- package/dist/esm/action/client/ReadScope.js +2 -1
- package/dist/esm/action/client/ReadScope.js.map +1 -1
- package/dist/esm/ble/Ble.d.ts +3 -3
- package/dist/esm/ble/Ble.d.ts.map +1 -1
- package/dist/esm/ble/Ble.js.map +1 -1
- package/dist/esm/common/Scanner.d.ts +2 -2
- package/dist/esm/common/Scanner.d.ts.map +1 -1
- package/dist/esm/interaction/AttributeDataDecoder.d.ts +9 -7
- package/dist/esm/interaction/AttributeDataDecoder.d.ts.map +1 -1
- package/dist/esm/interaction/AttributeDataDecoder.js.map +1 -1
- package/dist/esm/interaction/DecodedDataReport.d.ts +1 -0
- package/dist/esm/interaction/DecodedDataReport.d.ts.map +1 -1
- package/dist/esm/interaction/DecodedDataReport.js.map +1 -1
- package/dist/esm/interaction/InteractionClient.d.ts +13 -3
- package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionClient.js +96 -68
- package/dist/esm/interaction/InteractionClient.js.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.d.ts +10 -90
- package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
- package/dist/esm/interaction/InteractionMessenger.js +98 -22
- package/dist/esm/interaction/InteractionMessenger.js.map +2 -2
- package/dist/esm/interaction/SubscriptionClient.d.ts +2 -2
- package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
- package/dist/esm/interaction/SubscriptionClient.js +1 -1
- package/dist/esm/interaction/SubscriptionClient.js.map +1 -1
- package/dist/esm/mdns/MdnsClient.d.ts +3 -3
- package/dist/esm/mdns/MdnsClient.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsClient.js +28 -14
- package/dist/esm/mdns/MdnsClient.js.map +1 -1
- package/dist/esm/mdns/MdnsServer.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsServer.js +60 -5
- package/dist/esm/mdns/MdnsServer.js.map +1 -1
- package/dist/esm/mdns/MdnsSocket.d.ts.map +1 -1
- package/dist/esm/mdns/MdnsSocket.js +12 -1
- package/dist/esm/mdns/MdnsSocket.js.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.d.ts +2 -2
- package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioner.js +9 -6
- package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
- package/dist/esm/peer/OperationalPeer.d.ts +2 -2
- package/dist/esm/peer/OperationalPeer.d.ts.map +1 -1
- package/dist/esm/peer/PeerAddressStore.d.ts +3 -1
- package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
- package/dist/esm/peer/PeerAddressStore.js.map +1 -1
- package/dist/esm/peer/PeerSet.d.ts +3 -3
- package/dist/esm/peer/PeerSet.d.ts.map +1 -1
- package/dist/esm/peer/PeerSet.js +15 -10
- package/dist/esm/peer/PeerSet.js.map +1 -1
- package/dist/esm/protocol/ExchangeManager.d.ts +2 -2
- package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
- package/dist/esm/protocol/ExchangeManager.js +22 -18
- package/dist/esm/protocol/ExchangeManager.js.map +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts +1 -1
- package/dist/esm/protocol/MessageChannel.d.ts.map +1 -1
- package/dist/esm/protocol/MessageChannel.js +7 -5
- package/dist/esm/protocol/MessageChannel.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +0 -1
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +6 -17
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/session/NodeSession.d.ts.map +1 -1
- package/dist/esm/session/NodeSession.js +4 -3
- package/dist/esm/session/NodeSession.js.map +1 -1
- package/dist/esm/session/SessionIntervals.d.ts +1 -5
- package/dist/esm/session/SessionIntervals.d.ts.map +1 -1
- package/dist/esm/session/SessionIntervals.js.map +1 -1
- package/dist/esm/session/case/CaseMessages.d.ts +18 -9
- package/dist/esm/session/case/CaseMessages.d.ts.map +1 -1
- package/dist/esm/session/case/CaseMessages.js.map +1 -1
- package/dist/esm/session/case/CaseMessenger.d.ts +4 -62
- package/dist/esm/session/case/CaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/case/CaseMessenger.js +6 -1
- package/dist/esm/session/case/CaseMessenger.js.map +1 -1
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/pase/PaseMessages.d.ts +20 -9
- package/dist/esm/session/pase/PaseMessages.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseMessages.js +3 -3
- package/dist/esm/session/pase/PaseMessages.js.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.d.ts +3 -51
- package/dist/esm/session/pase/PaseMessenger.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseMessenger.js.map +1 -1
- package/package.json +6 -6
- package/src/action/client/ReadScope.ts +7 -0
- package/src/ble/Ble.ts +3 -3
- package/src/common/Scanner.ts +2 -2
- package/src/interaction/AttributeDataDecoder.ts +4 -1
- package/src/interaction/DecodedDataReport.ts +1 -0
- package/src/interaction/InteractionClient.ts +154 -79
- package/src/interaction/InteractionMessenger.ts +126 -22
- package/src/interaction/SubscriptionClient.ts +6 -5
- package/src/mdns/MdnsClient.ts +33 -23
- package/src/mdns/MdnsServer.ts +75 -5
- package/src/mdns/MdnsSocket.ts +16 -1
- package/src/peer/ControllerCommissioner.ts +10 -7
- package/src/peer/OperationalPeer.ts +2 -2
- package/src/peer/PeerAddressStore.ts +3 -1
- package/src/peer/PeerSet.ts +23 -18
- package/src/protocol/ExchangeManager.ts +29 -21
- package/src/protocol/MessageChannel.ts +13 -11
- package/src/protocol/MessageExchange.ts +6 -18
- package/src/session/NodeSession.ts +4 -3
- package/src/session/SessionIntervals.ts +1 -1
- package/src/session/case/CaseMessages.ts +12 -2
- package/src/session/case/CaseMessenger.ts +12 -4
- package/src/session/case/CaseServer.ts +5 -5
- package/src/session/pase/PaseMessages.ts +27 -3
- package/src/session/pase/PaseMessenger.ts +8 -9
|
@@ -5,7 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ReadResult } from "#action/response/ReadResult.js";
|
|
7
7
|
import { Bytes, Duration } from "#general";
|
|
8
|
-
import {
|
|
8
|
+
import { DecodedAttributeReportValue } from "#interaction/AttributeDataDecoder.js";
|
|
9
|
+
import { DecodedDataReport } from "#interaction/DecodedDataReport.js";
|
|
10
|
+
import { AttributeId, ClusterId, EndpointNumber, Status, StatusCode, TlvDataReport, TlvDataReportForSend, TlvInvokeRequest, TlvInvokeResponse, TlvReadRequest, TlvStream, TlvSubscribeRequest, TlvSubscribeResponse, TlvTimedRequest, TlvWriteRequest, TlvWriteResponse, TypeFromSchema } from "#types";
|
|
9
11
|
import { Message } from "../codec/MessageCodec.js";
|
|
10
12
|
import { ExchangeProvider } from "../protocol/ExchangeProvider.js";
|
|
11
13
|
import { ExchangeSendOptions, MessageExchange } from "../protocol/MessageExchange.js";
|
|
@@ -86,7 +88,11 @@ export declare class InteractionServerMessenger extends InteractionMessenger {
|
|
|
86
88
|
export declare class IncomingInteractionClientMessenger extends InteractionMessenger {
|
|
87
89
|
#private;
|
|
88
90
|
waitFor(expectedMessageInfo: string, messageType: number, timeout?: Duration): Promise<Message>;
|
|
89
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Reads data report stream and aggregates them into a single report.
|
|
93
|
+
* Additionally, a callback can be provided that is called for each cluster chunk received.
|
|
94
|
+
*/
|
|
95
|
+
readAggregateDataReport(chunkListener?: (chunk: DecodedAttributeReportValue<any>[]) => Promise<void>, expectedSubscriptionIds?: number[]): Promise<DecodedDataReport>;
|
|
90
96
|
/**
|
|
91
97
|
* Read a single data report.
|
|
92
98
|
*/
|
|
@@ -278,99 +284,13 @@ export declare class InteractionClientMessenger extends IncomingInteractionClien
|
|
|
278
284
|
send(messageType: number, payload: Bytes, options?: ExchangeSendOptions): Promise<void>;
|
|
279
285
|
sendReadRequest(readRequest: ReadRequest): Promise<void>;
|
|
280
286
|
sendSubscribeRequest(subscribeRequest: SubscribeRequest): Promise<void>;
|
|
281
|
-
readAggregateSubscribeResponse(): Promise<{
|
|
287
|
+
readAggregateSubscribeResponse(chunkListener?: (chunk: DecodedAttributeReportValue<any>[]) => Promise<void>): Promise<{
|
|
282
288
|
subscribeResponse: import("#types").TypeFromFields<{
|
|
283
289
|
subscriptionId: import("#types").FieldType<number>;
|
|
284
290
|
maxInterval: import("#types").FieldType<number>;
|
|
285
291
|
interactionModelRevision: import("#types").FieldType<number>;
|
|
286
292
|
}>;
|
|
287
|
-
report:
|
|
288
|
-
subscriptionId: import("#types").OptionalFieldType<number>;
|
|
289
|
-
attributeReports: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
|
|
290
|
-
attributeStatus: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
|
|
291
|
-
path: import("#types").FieldType<import("#types").TypeFromFields<{
|
|
292
|
-
enableTagCompression: import("#types").OptionalFieldType<boolean>;
|
|
293
|
-
nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
|
|
294
|
-
endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
|
|
295
|
-
clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
|
|
296
|
-
attributeId: import("#types").OptionalFieldType<import("#types").AttributeId>;
|
|
297
|
-
listIndex: import("#types").OptionalFieldType<number | null>;
|
|
298
|
-
wildcardPathFlags: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
299
|
-
skipRootNode: import("#types").BitFlag;
|
|
300
|
-
skipGlobalAttributes: import("#types").BitFlag;
|
|
301
|
-
skipAttributeList: import("#types").BitFlag;
|
|
302
|
-
reserved1: import("#types").BitFlag;
|
|
303
|
-
skipCommandLists: import("#types").BitFlag;
|
|
304
|
-
skipCustomElements: import("#types").BitFlag;
|
|
305
|
-
skipFixedAttributes: import("#types").BitFlag;
|
|
306
|
-
skipChangesOmittedAttributes: import("#types").BitFlag;
|
|
307
|
-
skipDiagnosticsClusters: import("#types").BitFlag;
|
|
308
|
-
}>>;
|
|
309
|
-
}>>;
|
|
310
|
-
status: import("#types").FieldType<import("#types").TypeFromFields<{
|
|
311
|
-
status: import("#types").FieldType<import("#types").Status>;
|
|
312
|
-
clusterStatus: import("#types").OptionalFieldType<import("#types").Status>;
|
|
313
|
-
}>>;
|
|
314
|
-
}>>;
|
|
315
|
-
attributeData: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
|
|
316
|
-
dataVersion: import("#types").OptionalFieldType<number>;
|
|
317
|
-
path: import("#types").FieldType<import("#types").TypeFromFields<{
|
|
318
|
-
enableTagCompression: import("#types").OptionalFieldType<boolean>;
|
|
319
|
-
nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
|
|
320
|
-
endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
|
|
321
|
-
clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
|
|
322
|
-
attributeId: import("#types").OptionalFieldType<import("#types").AttributeId>;
|
|
323
|
-
listIndex: import("#types").OptionalFieldType<number | null>;
|
|
324
|
-
wildcardPathFlags: import("#types").OptionalFieldType<import("#types").TypeFromPartialBitSchema<{
|
|
325
|
-
skipRootNode: import("#types").BitFlag;
|
|
326
|
-
skipGlobalAttributes: import("#types").BitFlag;
|
|
327
|
-
skipAttributeList: import("#types").BitFlag;
|
|
328
|
-
reserved1: import("#types").BitFlag;
|
|
329
|
-
skipCommandLists: import("#types").BitFlag;
|
|
330
|
-
skipCustomElements: import("#types").BitFlag;
|
|
331
|
-
skipFixedAttributes: import("#types").BitFlag;
|
|
332
|
-
skipChangesOmittedAttributes: import("#types").BitFlag;
|
|
333
|
-
skipDiagnosticsClusters: import("#types").BitFlag;
|
|
334
|
-
}>>;
|
|
335
|
-
}>>;
|
|
336
|
-
data: import("#types").FieldType<TlvStream>;
|
|
337
|
-
}>>;
|
|
338
|
-
}>[]>;
|
|
339
|
-
eventReports: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
|
|
340
|
-
eventStatus: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
|
|
341
|
-
path: import("#types").FieldType<import("#types").TypeFromFields<{
|
|
342
|
-
nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
|
|
343
|
-
endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
|
|
344
|
-
clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
|
|
345
|
-
eventId: import("#types").OptionalFieldType<import("#types").EventId>;
|
|
346
|
-
isUrgent: import("#types").OptionalFieldType<boolean>;
|
|
347
|
-
}>>;
|
|
348
|
-
status: import("#types").FieldType<import("#types").TypeFromFields<{
|
|
349
|
-
status: import("#types").FieldType<import("#types").Status>;
|
|
350
|
-
clusterStatus: import("#types").OptionalFieldType<import("#types").Status>;
|
|
351
|
-
}>>;
|
|
352
|
-
}>>;
|
|
353
|
-
eventData: import("#types").OptionalFieldType<import("#types").TypeFromFields<{
|
|
354
|
-
path: import("#types").FieldType<import("#types").TypeFromFields<{
|
|
355
|
-
nodeId: import("#types").OptionalFieldType<import("#types").NodeId>;
|
|
356
|
-
endpointId: import("#types").OptionalFieldType<import("#types").EndpointNumber>;
|
|
357
|
-
clusterId: import("#types").OptionalFieldType<import("#types").ClusterId>;
|
|
358
|
-
eventId: import("#types").OptionalFieldType<import("#types").EventId>;
|
|
359
|
-
isUrgent: import("#types").OptionalFieldType<boolean>;
|
|
360
|
-
}>>;
|
|
361
|
-
eventNumber: import("#types").FieldType<import("#types").EventNumber>;
|
|
362
|
-
priority: import("#types").FieldType<import("#types").Priority>;
|
|
363
|
-
epochTimestamp: import("#types").OptionalFieldType<number | bigint>;
|
|
364
|
-
systemTimestamp: import("#types").OptionalFieldType<number | bigint>;
|
|
365
|
-
deltaEpochTimestamp: import("#types").OptionalFieldType<number | bigint>;
|
|
366
|
-
deltaSystemTimestamp: import("#types").OptionalFieldType<number | bigint>;
|
|
367
|
-
data: import("#types").OptionalFieldType<TlvStream>;
|
|
368
|
-
}>>;
|
|
369
|
-
}>[]>;
|
|
370
|
-
moreChunkedMessages: import("#types").OptionalFieldType<boolean>;
|
|
371
|
-
suppressResponse: import("#types").OptionalFieldType<boolean>;
|
|
372
|
-
interactionModelRevision: import("#types").FieldType<number>;
|
|
373
|
-
}>;
|
|
293
|
+
report: DecodedDataReport;
|
|
374
294
|
}>;
|
|
375
295
|
sendInvokeCommand(invokeRequest: InvokeRequest, expectedProcessingTime?: Duration): Promise<import("#types").TypeFromFields<{
|
|
376
296
|
suppressResponse: import("#types").FieldType<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionMessenger.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionMessenger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EACH,KAAK,EAEL,QAAQ,EAOX,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractionMessenger.d.ts","sourceRoot":"","sources":["../../../src/interaction/InteractionMessenger.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
NoResponseTimeoutError,
|
|
13
13
|
UnexpectedDataError
|
|
14
14
|
} from "#general";
|
|
15
|
+
import { DecodedDataReport } from "#interaction/DecodedDataReport.js";
|
|
15
16
|
import { Specification } from "#model";
|
|
16
17
|
import { ChannelNotConnectedError } from "#protocol/MessageChannel.js";
|
|
17
18
|
import {
|
|
@@ -581,8 +582,85 @@ class IncomingInteractionClientMessenger extends InteractionMessenger {
|
|
|
581
582
|
}
|
|
582
583
|
return message;
|
|
583
584
|
}
|
|
584
|
-
|
|
585
|
-
|
|
585
|
+
/**
|
|
586
|
+
* Reads data report stream and aggregates them into a single report.
|
|
587
|
+
* Additionally, a callback can be provided that is called for each cluster chunk received.
|
|
588
|
+
*/
|
|
589
|
+
async readAggregateDataReport(chunkListener, expectedSubscriptionIds) {
|
|
590
|
+
let result = void 0;
|
|
591
|
+
let currentEndpointId = void 0;
|
|
592
|
+
let currentClusterId = void 0;
|
|
593
|
+
const currentClusterChunk = new Array();
|
|
594
|
+
let pendingAttributeReports = void 0;
|
|
595
|
+
const handleAttributeReportEntries = (attributeReports, previousPendingAttributeReports) => {
|
|
596
|
+
if (previousPendingAttributeReports?.length) {
|
|
597
|
+
attributeReports = attributeReports ?? [];
|
|
598
|
+
attributeReports.unshift(...previousPendingAttributeReports);
|
|
599
|
+
}
|
|
600
|
+
let lastAttributeDataIndex = -1;
|
|
601
|
+
if (attributeReports?.length) {
|
|
602
|
+
let lastEndpointId = void 0;
|
|
603
|
+
let lastClusterId = void 0;
|
|
604
|
+
let lastAttributeId = void 0;
|
|
605
|
+
for (let i = attributeReports.length - 1; i >= 0; i--) {
|
|
606
|
+
const attributeReport = attributeReports[i];
|
|
607
|
+
if (attributeReport.attributeData === void 0) {
|
|
608
|
+
break;
|
|
609
|
+
}
|
|
610
|
+
const {
|
|
611
|
+
path: { endpointId, clusterId, attributeId }
|
|
612
|
+
} = attributeReport.attributeData;
|
|
613
|
+
if (lastEndpointId === void 0 && lastClusterId === void 0 && lastAttributeId === void 0) {
|
|
614
|
+
lastEndpointId = endpointId;
|
|
615
|
+
lastClusterId = clusterId;
|
|
616
|
+
lastAttributeId = attributeId;
|
|
617
|
+
}
|
|
618
|
+
if (endpointId === lastEndpointId && clusterId === lastClusterId && attributeId === lastAttributeId) {
|
|
619
|
+
lastAttributeDataIndex = i;
|
|
620
|
+
continue;
|
|
621
|
+
}
|
|
622
|
+
break;
|
|
623
|
+
}
|
|
624
|
+
if (lastAttributeDataIndex > 0) {
|
|
625
|
+
return attributeReports.splice(lastAttributeDataIndex);
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
const processDecodedReport = async (decodedReport, result2) => {
|
|
630
|
+
if (!result2) {
|
|
631
|
+
result2 = decodedReport;
|
|
632
|
+
} else {
|
|
633
|
+
if (!result2.attributeReports) {
|
|
634
|
+
result2.attributeReports = decodedReport.attributeReports;
|
|
635
|
+
} else {
|
|
636
|
+
result2.attributeReports.push(...decodedReport.attributeReports);
|
|
637
|
+
}
|
|
638
|
+
if (Array.isArray(decodedReport.eventReports)) {
|
|
639
|
+
if (!result2.eventReports) {
|
|
640
|
+
result2.eventReports = decodedReport.eventReports;
|
|
641
|
+
} else {
|
|
642
|
+
result2.eventReports.push(...decodedReport.eventReports);
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
}
|
|
646
|
+
if (chunkListener !== void 0 && decodedReport.attributeReports) {
|
|
647
|
+
for (const data of decodedReport.attributeReports) {
|
|
648
|
+
const {
|
|
649
|
+
path: { endpointId, clusterId }
|
|
650
|
+
} = data;
|
|
651
|
+
if (currentEndpointId !== endpointId || currentClusterId !== clusterId) {
|
|
652
|
+
if (currentClusterChunk.length > 0) {
|
|
653
|
+
await chunkListener(currentClusterChunk);
|
|
654
|
+
currentClusterChunk.length = 0;
|
|
655
|
+
}
|
|
656
|
+
currentEndpointId = endpointId;
|
|
657
|
+
currentClusterId = clusterId;
|
|
658
|
+
}
|
|
659
|
+
currentClusterChunk.push(data);
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
return result2;
|
|
663
|
+
};
|
|
586
664
|
for await (const report of this.readDataReports()) {
|
|
587
665
|
if (expectedSubscriptionIds !== void 0) {
|
|
588
666
|
if (report.subscriptionId === void 0 || !expectedSubscriptionIds.includes(report.subscriptionId)) {
|
|
@@ -600,24 +678,22 @@ class IncomingInteractionClientMessenger extends InteractionMessenger {
|
|
|
600
678
|
if (result?.subscriptionId !== void 0 && report.subscriptionId !== result.subscriptionId) {
|
|
601
679
|
throw new UnexpectedDataError(`Invalid subscription ID ${report.subscriptionId} received`);
|
|
602
680
|
}
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
}
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
}
|
|
620
|
-
}
|
|
681
|
+
report.attributeReports = report.attributeReports ?? [];
|
|
682
|
+
pendingAttributeReports = handleAttributeReportEntries(report.attributeReports, pendingAttributeReports);
|
|
683
|
+
result = await processDecodedReport(DecodedDataReport(report), result);
|
|
684
|
+
}
|
|
685
|
+
if (pendingAttributeReports?.length && result !== void 0) {
|
|
686
|
+
result = await processDecodedReport(
|
|
687
|
+
DecodedDataReport({
|
|
688
|
+
interactionModelRevision: result.interactionModelRevision,
|
|
689
|
+
attributeReports: pendingAttributeReports
|
|
690
|
+
}),
|
|
691
|
+
result
|
|
692
|
+
);
|
|
693
|
+
}
|
|
694
|
+
if (chunkListener !== void 0 && currentClusterChunk.length > 0) {
|
|
695
|
+
await chunkListener(currentClusterChunk);
|
|
696
|
+
currentClusterChunk.length = 0;
|
|
621
697
|
}
|
|
622
698
|
if (result === void 0) {
|
|
623
699
|
throw new InternalError("No data reports loaded during read");
|
|
@@ -752,8 +828,8 @@ class InteractionClientMessenger extends IncomingInteractionClientMessenger {
|
|
|
752
828
|
const request = this.#encodeReadingRequest(TlvSubscribeRequest, subscribeRequest);
|
|
753
829
|
await this.send(3 /* SubscribeRequest */, request);
|
|
754
830
|
}
|
|
755
|
-
async readAggregateSubscribeResponse() {
|
|
756
|
-
const report = await this.readAggregateDataReport();
|
|
831
|
+
async readAggregateSubscribeResponse(chunkListener) {
|
|
832
|
+
const report = await this.readAggregateDataReport(chunkListener);
|
|
757
833
|
const { subscriptionId } = report;
|
|
758
834
|
if (subscriptionId === void 0) {
|
|
759
835
|
throw new UnexpectedDataError(`Subscription ID not provided in report`);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/interaction/InteractionMessenger.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["MessageType"]
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["MessageType", "result"]
|
|
6
6
|
}
|
|
@@ -4,14 +4,14 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Duration, Environment, Environmental, MaybePromise } from "#general";
|
|
7
|
+
import { DecodedDataReport } from "#interaction/DecodedDataReport.js";
|
|
7
8
|
import { MessageExchange } from "#protocol/MessageExchange.js";
|
|
8
9
|
import { ProtocolHandler } from "#protocol/ProtocolHandler.js";
|
|
9
|
-
import { DataReport } from "./InteractionMessenger.js";
|
|
10
10
|
export interface RegisteredSubscription {
|
|
11
11
|
id: number;
|
|
12
12
|
maximumPeerResponseTime: Duration;
|
|
13
13
|
maxInterval: Duration;
|
|
14
|
-
onData: (dataReport:
|
|
14
|
+
onData: (dataReport: DecodedDataReport) => MaybePromise<void>;
|
|
15
15
|
onTimeout?: () => void;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionClient.d.ts","sourceRoot":"","sources":["../../../src/interaction/SubscriptionClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAU,YAAY,EAAuB,MAAM,UAAU,CAAC;AAC3G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SubscriptionClient.d.ts","sourceRoot":"","sources":["../../../src/interaction/SubscriptionClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAU,YAAY,EAAuB,MAAM,UAAU,CAAC;AAC3G,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/D,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB,EAAE,QAAQ,CAAC;IAClC,WAAW,EAAE,QAAQ,CAAC;IACtB,MAAM,EAAE,CAAC,UAAU,EAAE,iBAAiB,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,eAAe;;IACtD,QAAQ,CAAC,EAAE,KAA2B;IACtC,QAAQ,CAAC,qBAAqB,QAAQ;;IAMtC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C;;OAEG;IACH,GAAG,CAAC,YAAY,EAAE,sBAAsB;IAuBxC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM;IASX,aAAa,CAAC,QAAQ,EAAE,eAAe;IAsBvC,KAAK;CAKd"}
|
|
@@ -55,7 +55,7 @@ class SubscriptionClient {
|
|
|
55
55
|
const messenger = new IncomingInteractionClientMessenger(exchange);
|
|
56
56
|
let dataReport;
|
|
57
57
|
try {
|
|
58
|
-
dataReport = await messenger.readAggregateDataReport([...this.#listeners.keys()]);
|
|
58
|
+
dataReport = await messenger.readAggregateDataReport(void 0, [...this.#listeners.keys()]);
|
|
59
59
|
} finally {
|
|
60
60
|
messenger.close().catch((error) => logger.info("Error closing client messenger", error));
|
|
61
61
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/interaction/SubscriptionClient.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,UAAuB,eAAe,QAAsB,QAAQ,YAAmB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,UAAuB,eAAe,QAAsB,QAAQ,YAAmB;AAIhG,SAAS,+BAA+B;AACxC,SAAS,0CAA0C;AAEnD,MAAM,SAAS,OAAO,IAAI,oBAAoB;AAevC,MAAM,mBAA8C;AAAA,EAC9C,KAAK;AAAA,EACL,wBAAwB;AAAA,EACxB,aAAa,oBAAI,IAAmE;AAAA,EACpF,YAAY,oBAAI,IAAmB;AAAA,EAE5C,cAAc;AAAA,EAAC;AAAA,EAEf,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,SAAS,IAAI,mBAAmB;AACtC,QAAI,IAAI,oBAAoB,MAAM;AAClC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAsC;AACtC,UAAM,EAAE,IAAI,QAAQ,UAAU,IAAI;AAElC,SAAK,WAAW,IAAI,IAAI,MAAM;AAC9B,QAAI,WAAW;AACX,UAAI,QAAQ,KAAK,UAAU,IAAI,EAAE;AACjC,UAAI,UAAU,QAAW;AACrB,cAAM,KAAK;AACX,aAAK,UAAU,OAAO,EAAE;AAAA,MAC5B;AAEA,YAAM,cAAc,OAAO,aAAa,cAAc,aAAa,uBAAuB;AAE1F,cAAQ,KAAK,SAAS,wBAAwB,aAAa,MAAM;AAC7D,eAAO,KAAK,gBAAgB,EAAE,oBAAoB,SAAS,OAAO,WAAW,CAAC,EAAE;AAChF,aAAK,OAAO,EAAE;AACd,kBAAU;AAAA,MACd,CAAC,EAAE,MAAM;AAET,WAAK,UAAU,IAAI,IAAI,KAAK;AAAA,IAChC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,IAAY;AACf,SAAK,WAAW,OAAO,EAAE;AACzB,UAAM,QAAQ,KAAK,UAAU,IAAI,EAAE;AACnC,QAAI,UAAU,QAAW;AACrB,YAAM,KAAK;AACX,WAAK,UAAU,OAAO,EAAE;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,MAAM,cAAc,UAA2B;AAC3C,UAAM,YAAY,IAAI,mCAAmC,QAAQ;AAEjE,QAAI;AACJ,QAAI;AAEA,mBAAa,MAAM,UAAU,wBAAwB,QAAW,CAAC,GAAG,KAAK,WAAW,KAAK,CAAC,CAAC;AAAA,IAC/F,UAAE;AACE,gBAAU,MAAM,EAAE,MAAM,WAAS,OAAO,KAAK,kCAAkC,KAAK,CAAC;AAAA,IACzF;AACA,UAAM,iBAAiB,WAAW;AAElC,UAAM,WAAW,KAAK,WAAW,IAAI,cAAc;AACnD,UAAM,QAAQ,KAAK,UAAU,IAAI,cAAc;AAE/C,QAAI,UAAU,QAAW;AACrB,YAAM,KAAK,EAAE,MAAM;AAAA,IACvB;AAEA,UAAM,WAAW,UAAU;AAAA,EAC/B;AAAA,EAEA,MAAM,QAAQ;AACV,SAAK,WAAW,MAAM;AACtB,SAAK,UAAU,QAAQ,WAAS,MAAM,KAAK,CAAC;AAC5C,SAAK,UAAU,MAAM;AAAA,EACzB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { BasicSet, Bytes, ChannelType, Diagnostic, Duration, Lifespan,
|
|
6
|
+
import { BasicSet, Bytes, ChannelType, Diagnostic, Duration, Lifespan, ServerAddressUdp } from "#general";
|
|
7
7
|
import { NodeId } from "#types";
|
|
8
8
|
import { CommissionableDevice, CommissionableDeviceIdentifiers, DiscoveryData, OperationalDevice, Scanner } from "../common/Scanner.js";
|
|
9
9
|
import { Fabric } from "../fabric/Fabric.js";
|
|
10
10
|
import { MdnsSocket } from "./MdnsSocket.js";
|
|
11
|
-
type MatterServerRecordWithExpire =
|
|
11
|
+
type MatterServerRecordWithExpire = ServerAddressUdp & Lifespan;
|
|
12
12
|
/**
|
|
13
13
|
* Interface to add criteria for MDNS discovery a node is interested in
|
|
14
14
|
*
|
|
@@ -61,7 +61,7 @@ export declare class MdnsClient implements Scanner {
|
|
|
61
61
|
*/
|
|
62
62
|
findCommissionableDevicesContinuously(identifier: CommissionableDeviceIdentifiers, callback: (device: CommissionableDevice) => void, timeout?: Duration, cancelSignal?: Promise<void>): Promise<CommissionableDevice[]>;
|
|
63
63
|
getDiscoveredCommissionableDevices(identifier: CommissionableDeviceIdentifiers): {
|
|
64
|
-
addresses:
|
|
64
|
+
addresses: ServerAddressUdp[];
|
|
65
65
|
discoveredAt: undefined;
|
|
66
66
|
ttl: undefined;
|
|
67
67
|
SII?: Duration | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MdnsClient.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EAMV,QAAQ,EAKR,QAAQ,EAOR,
|
|
1
|
+
{"version":3,"file":"MdnsClient.d.ts","sourceRoot":"","sources":["../../../src/mdns/MdnsClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,QAAQ,EACR,KAAK,EACL,WAAW,EACX,UAAU,EAMV,QAAQ,EAKR,QAAQ,EAOR,gBAAgB,EAOnB,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;AAY7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,KAAK,4BAA4B,GAAG,gBAAgB,GAAG,QAAQ,CAAC;AAoChE;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACtC,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IAExB,mCAAmC;IACnC,kBAAkB,EAAE;QAChB,aAAa,EAAE,KAAK,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP;AAED;;;GAGG;AACH,qBAAa,UAAW,YAAW,OAAO;;IACtC,QAAQ,CAAC,IAAI,mBAAmB;gBA0CpB,MAAM,EAAE,UAAU;IAW9B,uDAAuD;IACvD,IAAI,uBAAuB,mEAE1B;IA0TD;;;OAGG;IACG,qBAAqB,CACvB,EAAE,aAAa,EAAE,EAAE,MAAM,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,QAAQ,EAClB,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,OAAO,WAAa,EACpB,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,OAAO,CAAC,EAAE,QAAQ,EAClB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAiDlC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B;mBAnOvD,gBAAgB,EAAE;;;;;;;;;;;;;;;;;oBAlgBzB,MAAM;YACd,MAAM;YACN,MAAM;YACN,MAAM;;IAsuBd;;OAEG;IACG,KAAK;IAqtBX,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM;IAiBlE,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;CAUvF"}
|
|
@@ -274,14 +274,21 @@ class MdnsClient {
|
|
|
274
274
|
* Registers a deferred promise for a specific queryId together with a timeout and return the promise.
|
|
275
275
|
* The promise will be resolved when the timer runs out latest.
|
|
276
276
|
*/
|
|
277
|
-
async #registerWaiterPromise(queryId, commissionable, timeout, resolveOnUpdatedRecords = true, cancelResolver) {
|
|
277
|
+
async #registerWaiterPromise(queryId, commissionable, timeout, responder, resolveOnUpdatedRecords = true, cancelResolver) {
|
|
278
278
|
const { promise, resolver } = createPromise();
|
|
279
279
|
const timer = timeout !== void 0 ? Time.getTimer("MDNS timeout", timeout, () => {
|
|
280
280
|
cancelResolver?.();
|
|
281
281
|
this.#finishWaiter(queryId, true);
|
|
282
282
|
}).start() : void 0;
|
|
283
283
|
this.#listening = true;
|
|
284
|
-
this.#recordWaiters.set(queryId, {
|
|
284
|
+
this.#recordWaiters.set(queryId, {
|
|
285
|
+
resolver,
|
|
286
|
+
responder,
|
|
287
|
+
timer,
|
|
288
|
+
resolveOnUpdatedRecords,
|
|
289
|
+
cancelResolver,
|
|
290
|
+
commissionable
|
|
291
|
+
});
|
|
285
292
|
this.#hasCommissionableWaiters = this.#hasCommissionableWaiters || commissionable;
|
|
286
293
|
if (!commissionable) {
|
|
287
294
|
this.#registerOperationalQuery(queryId);
|
|
@@ -289,7 +296,7 @@ class MdnsClient {
|
|
|
289
296
|
logger.debug(
|
|
290
297
|
`Registered waiter for query ${queryId} with ${timeout !== void 0 ? `timeout ${timeout}` : "no timeout"}${resolveOnUpdatedRecords ? "" : " (not resolving on updated records)"}`
|
|
291
298
|
);
|
|
292
|
-
await promise;
|
|
299
|
+
return await promise;
|
|
293
300
|
}
|
|
294
301
|
/**
|
|
295
302
|
* Remove a waiter promise for a specific queryId and stop the connected timer. If required also resolve the
|
|
@@ -298,12 +305,12 @@ class MdnsClient {
|
|
|
298
305
|
#finishWaiter(queryId, resolvePromise, isUpdatedRecord = false) {
|
|
299
306
|
const waiter = this.#recordWaiters.get(queryId);
|
|
300
307
|
if (waiter === void 0) return;
|
|
301
|
-
const { timer, resolver, resolveOnUpdatedRecords, commissionable } = waiter;
|
|
308
|
+
const { timer, resolver, responder, resolveOnUpdatedRecords, commissionable } = waiter;
|
|
302
309
|
if (isUpdatedRecord && !resolveOnUpdatedRecords) return;
|
|
303
310
|
logger.debug(`Finishing waiter for query ${queryId}, resolving: ${resolvePromise}`);
|
|
304
311
|
timer?.stop();
|
|
305
312
|
if (resolvePromise) {
|
|
306
|
-
resolver();
|
|
313
|
+
resolver(responder?.());
|
|
307
314
|
}
|
|
308
315
|
this.#recordWaiters.delete(queryId);
|
|
309
316
|
this.#removeQuery(queryId);
|
|
@@ -349,7 +356,12 @@ class MdnsClient {
|
|
|
349
356
|
const deviceMatterQname = this.#createOperationalMatterQName(operationalId, nodeId);
|
|
350
357
|
let storedDevice = ignoreExistingRecords ? void 0 : this.#getOperationalDeviceRecords(deviceMatterQname);
|
|
351
358
|
if (storedDevice === void 0) {
|
|
352
|
-
const promise = this.#registerWaiterPromise(
|
|
359
|
+
const promise = this.#registerWaiterPromise(
|
|
360
|
+
deviceMatterQname,
|
|
361
|
+
false,
|
|
362
|
+
timeout,
|
|
363
|
+
() => this.#getOperationalDeviceRecords(deviceMatterQname)
|
|
364
|
+
);
|
|
353
365
|
this.#setQueryRecords(deviceMatterQname, [
|
|
354
366
|
{
|
|
355
367
|
name: deviceMatterQname,
|
|
@@ -357,8 +369,7 @@ class MdnsClient {
|
|
|
357
369
|
recordType: DnsRecordType.SRV
|
|
358
370
|
}
|
|
359
371
|
]);
|
|
360
|
-
await promise;
|
|
361
|
-
storedDevice = this.#getOperationalDeviceRecords(deviceMatterQname);
|
|
372
|
+
storedDevice = await promise;
|
|
362
373
|
}
|
|
363
374
|
return storedDevice;
|
|
364
375
|
}
|
|
@@ -533,10 +544,14 @@ class MdnsClient {
|
|
|
533
544
|
let storedRecords = ignoreExistingRecords ? [] : this.#getCommissionableDeviceRecords(identifier).filter(({ addresses }) => addresses.length > 0);
|
|
534
545
|
if (storedRecords.length === 0) {
|
|
535
546
|
const queryId = this.#buildCommissionableQueryIdentifier(identifier);
|
|
536
|
-
const promise = this.#registerWaiterPromise(
|
|
547
|
+
const promise = this.#registerWaiterPromise(
|
|
548
|
+
queryId,
|
|
549
|
+
true,
|
|
550
|
+
timeout,
|
|
551
|
+
() => this.#getCommissionableDeviceRecords(identifier)
|
|
552
|
+
);
|
|
537
553
|
this.#setQueryRecords(queryId, this.#getCommissionableQueryRecords(identifier));
|
|
538
|
-
await promise;
|
|
539
|
-
storedRecords = this.#getCommissionableDeviceRecords(identifier);
|
|
554
|
+
storedRecords = await promise;
|
|
540
555
|
}
|
|
541
556
|
return storedRecords;
|
|
542
557
|
}
|
|
@@ -582,7 +597,7 @@ class MdnsClient {
|
|
|
582
597
|
break;
|
|
583
598
|
}
|
|
584
599
|
}
|
|
585
|
-
await this.#registerWaiterPromise(queryId, true, remainingTime, false, queryResolver);
|
|
600
|
+
await this.#registerWaiterPromise(queryId, true, remainingTime, void 0, false, queryResolver);
|
|
586
601
|
}
|
|
587
602
|
return this.#getCommissionableDeviceRecords(identifier);
|
|
588
603
|
}
|
|
@@ -741,8 +756,7 @@ class MdnsClient {
|
|
|
741
756
|
#handleMessage(message) {
|
|
742
757
|
if (this.#closing) return;
|
|
743
758
|
if (message === void 0) return;
|
|
744
|
-
if (
|
|
745
|
-
return;
|
|
759
|
+
if (!DnsMessageType.isResponse(message.messageType)) return;
|
|
746
760
|
const answers = this.#structureAnswers([...message.answers, ...message.additionalRecords]);
|
|
747
761
|
const formerAnswers = this.#getActiveQueryEarlierAnswers(message.sourceIntf);
|
|
748
762
|
this.#handleOperationalRecords(answers, formerAnswers, message.sourceIntf);
|