@matter/protocol 0.16.0-alpha.0-20250930-05e6cc3f8 → 0.16.0-alpha.0-20251003-dc6d5523d
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/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/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 +4 -4
- 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
|
@@ -8,13 +8,14 @@ import { GeneralCommissioning } from "#clusters/general-commissioning";
|
|
|
8
8
|
import { ScannerSet } from "#common/Scanner.js";
|
|
9
9
|
import {
|
|
10
10
|
ChannelType,
|
|
11
|
+
ConnectionlessTransportSet,
|
|
11
12
|
Diagnostic,
|
|
12
13
|
Environmental,
|
|
14
|
+
ImplementationError,
|
|
13
15
|
isIPv6,
|
|
14
16
|
Logger,
|
|
15
17
|
Millis,
|
|
16
18
|
Minutes,
|
|
17
|
-
NetInterfaceSet,
|
|
18
19
|
NoResponseTimeoutError,
|
|
19
20
|
Seconds,
|
|
20
21
|
ServerAddress
|
|
@@ -48,7 +49,7 @@ class ControllerCommissioner {
|
|
|
48
49
|
peers: env.get(PeerSet),
|
|
49
50
|
clients: env.get(InteractionClientProvider),
|
|
50
51
|
scanners: env.get(ScannerSet),
|
|
51
|
-
|
|
52
|
+
transports: env.get(ConnectionlessTransportSet),
|
|
52
53
|
sessions: env.get(SessionManager),
|
|
53
54
|
exchanges: env.get(ExchangeManager),
|
|
54
55
|
ca: env.get(CertificateAuthority)
|
|
@@ -92,7 +93,7 @@ class ControllerCommissioner {
|
|
|
92
93
|
discovery: { discoveryCapabilities = {}, knownAddress }
|
|
93
94
|
} = options;
|
|
94
95
|
let identifierData = "identifierData" in options.discovery ? options.discovery.identifierData : {};
|
|
95
|
-
if (this.#context.scanners.hasScannerFor(ChannelType.UDP) && this.#context.
|
|
96
|
+
if (this.#context.scanners.hasScannerFor(ChannelType.UDP) && this.#context.transports.hasInterfaceFor(ChannelType.UDP, "::") !== void 0) {
|
|
96
97
|
discoveryCapabilities.onIpNetwork = true;
|
|
97
98
|
}
|
|
98
99
|
if (commissionableDevice !== void 0) {
|
|
@@ -167,7 +168,7 @@ class ControllerCommissioner {
|
|
|
167
168
|
if (address.type === "udp") {
|
|
168
169
|
const { ip } = address;
|
|
169
170
|
const isIpv6Address = isIPv6(ip);
|
|
170
|
-
const paseInterface = this.#context.
|
|
171
|
+
const paseInterface = this.#context.transports.interfaceFor(
|
|
171
172
|
ChannelType.UDP,
|
|
172
173
|
isIpv6Address ? "::" : "0.0.0.0"
|
|
173
174
|
);
|
|
@@ -177,14 +178,16 @@ class ControllerCommissioner {
|
|
|
177
178
|
);
|
|
178
179
|
}
|
|
179
180
|
paseChannel = await paseInterface.openChannel(address);
|
|
180
|
-
} else {
|
|
181
|
-
const ble = this.#context.
|
|
181
|
+
} else if (address.type === "ble") {
|
|
182
|
+
const ble = this.#context.transports.interfaceFor(ChannelType.BLE);
|
|
182
183
|
if (!ble) {
|
|
183
184
|
throw new PairRetransmissionLimitReachedError(
|
|
184
185
|
`BLE interface not initialized. Cannot use ${address.peripheralAddress} for commissioning.`
|
|
185
186
|
);
|
|
186
187
|
}
|
|
187
188
|
paseChannel = await ble.openChannel(address);
|
|
189
|
+
} else {
|
|
190
|
+
throw new ImplementationError(`Unsupported PASE address type ${address.type}`);
|
|
188
191
|
}
|
|
189
192
|
const unsecureSession = this.#context.sessions.createInsecureSession({
|
|
190
193
|
// Use the session parameters from MDNS announcements when available and rest is assumed to be fallbacks
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/peer/ControllerCommissioner.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAA+E,kBAAkB;AAEjG;AAAA,EAGI;AAAA,EAEA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,mBAAmB,iCAAiC;AAC7D,SAAS,kBAAkB;AAC3B;AAAA,EACI;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AACP,SAAS,qBAAqB,2CAA2C;AACzE,SAAS,uBAAuB;AAChC,SAAS,wCAAwC;AACjD,SAAS,sBAAsB;AAC/B,SAAS,kCAAkC;AAC3C,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAsC,QAAQ,kCAA4D;AAE1G,SAAS,mBAAmB,eAAe;AAE3C,MAAM,SAAS,OAAO,IAAI,kBAAkB;AA6FrC,MAAM,uBAAuB;AAAA,EAChC;AAAA,EACA;AAAA,EAEA,YAAY,SAAwC;AAChD,SAAK,WAAW;AAChB,SAAK,cAAc,IAAI,WAAW,QAAQ,QAAQ;AAAA,EACtD;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,uBAAuB;AAAA,MACxC,OAAO,IAAI,IAAI,OAAO;AAAA,MACtB,SAAS,IAAI,IAAI,yBAAyB;AAAA,MAC1C,UAAU,IAAI,IAAI,UAAU;AAAA,MAC5B,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,4BAA4B;AACrC,SAAS,4BAA4B;AACrC,SAA+E,kBAAkB;AAEjG;AAAA,EAGI;AAAA,EAEA;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,mBAAmB,iCAAiC;AAC7D,SAAS,kBAAkB;AAC3B;AAAA,EACI;AAAA,EACA;AAAA,EAEA;AAAA,OACG;AACP,SAAS,qBAAqB,2CAA2C;AACzE,SAAS,uBAAuB;AAChC,SAAS,wCAAwC;AACjD,SAAS,sBAAsB;AAC/B,SAAS,kCAAkC;AAC3C,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAsC,QAAQ,kCAA4D;AAE1G,SAAS,mBAAmB,eAAe;AAE3C,MAAM,SAAS,OAAO,IAAI,kBAAkB;AA6FrC,MAAM,uBAAuB;AAAA,EAChC;AAAA,EACA;AAAA,EAEA,YAAY,SAAwC;AAChD,SAAK,WAAW;AAChB,SAAK,cAAc,IAAI,WAAW,QAAQ,QAAQ;AAAA,EACtD;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,uBAAuB;AAAA,MACxC,OAAO,IAAI,IAAI,OAAO;AAAA,MACtB,SAAS,IAAI,IAAI,yBAAyB;AAAA,MAC1C,UAAU,IAAI,IAAI,UAAU;AAAA,MAC5B,YAAY,IAAI,IAAI,0BAA0B;AAAA,MAC9C,UAAU,IAAI,IAAI,cAAc;AAAA,MAChC,WAAW,IAAI,IAAI,eAAe;AAAA,MAClC,IAAI,IAAI,IAAI,oBAAoB;AAAA,IACpC,CAAC;AACD,QAAI,IAAI,wBAAwB,QAAQ;AACxC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,WAAW,SAAgE;AAC7E,UAAM,EAAE,UAAU,WAAW,eAAe,QAAQ,OAAO,IAAI;AAG/D,QAAI,WAAW,QAAW;AACtB,WAAK,mBAAmB,OAAO,UAAU,MAAM,CAAC;AAAA,IACpD;AAGA,cAAU,KAAK,OAAM,EAAE,SAAS,QAAQ,KAAK,CAAE;AAG/C,QAAI;AACJ,eAAW,WAAW,WAAW;AAC7B,UAAI;AACA,kBAAU,MAAM,KAAK,6BAA6B,SAAS,UAAU,aAAa;AAAA,MACtF,SAAS,GAAG;AACR,+BAAuB,OAAO,CAAC;AAC/B,eAAO,KAAK,wBAAwB,cAAc,OAAO,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE;AAAA,MACrF;AAAA,IACJ;AAEA,QAAI,YAAY,QAAW;AACvB,YAAM,IAAI,uBAAuB,6BAA6B;AAAA,IAClE;AAEA,WAAO,MAAM,KAAK,yBAAyB,SAAS,SAAS,aAAa;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,yBACF,SAC6E;AAC7E,UAAM;AAAA,MACF,WAAW,EAAE,UAAU,QAAQ,EAAE,EAAE;AAAA,MACnC;AAAA,IACJ,IAAI;AAEJ,UAAM,uBACF,0BAA0B,QAAQ,YAAY,QAAQ,UAAU,uBAAuB;AAC3F,QAAI;AAAA,MACA,WAAW,EAAE,wBAAwB,CAAC,GAAG,aAAa;AAAA,IAC1D,IAAI;AACJ,QAAI,iBAAiB,oBAAoB,QAAQ,YAAY,QAAQ,UAAU,iBAAiB,CAAC;AAEjG,QACI,KAAK,SAAS,SAAS,cAAc,YAAY,GAAG,KACpD,KAAK,SAAS,WAAW,gBAAgB,YAAY,KAAK,IAAI,MAAM,QACtE;AACE,4BAAsB,cAAc;AAAA,IACxC;AACA,QAAI,yBAAyB,QAAW;AACpC,UAAI,EAAE,UAAU,IAAI;AACpB,UAAI,sBAAsB,QAAQ,MAAM;AACpC,gCAAwB,EAAE,aAAa,MAAM,KAAK,UAAU,KAAK,aAAW,QAAQ,SAAS,KAAK,EAAE;AAAA,MACxG,WAAW,sBAAsB,gBAAgB,MAAM;AAEnD,oBAAY,UAAU,OAAO,aAAW,QAAQ,SAAS,KAAK;AAAA,MAClE;AACA,gBAAU,KAAK,OAAM,EAAE,SAAS,QAAQ,KAAK,CAAE;AAC/C,qBAAe,UAAU,CAAC;AAC1B,UAAI,gBAAgB,wBAAwB,qBAAqB,eAAe,QAAW;AAEvF,yBAAiB,EAAE,YAAY,qBAAqB,WAAqB;AAAA,MAC7E,OAAO;AACH,yBAAiB,EAAE,mBAAmB,qBAAqB,EAAE;AAAA,MACjE;AAAA,IACJ;AAEA,UAAM,gBAAgB,KAAK,SAAS,SAAS,OAAO,qBAAqB;AAEzE,WAAO;AAAA,MACH,wCAAwC,WAAW,KAAK,cAAc,CAAC,QACnE,cAAc,MAClB,8BAA8B,WAAW,KAAK,YAAY,CAAC;AAAA,IAC/D;AAGA,QAAI;AACJ,QAAI;AAGJ,QAAI,iBAAiB,QAAW;AAC5B,UAAI;AACA,4BAAoB,MAAM,KAAK,6BAA6B,cAAc,QAAQ;AAAA,MACtF,SAAS,OAAO;AACZ,+BAAuB,OAAO,KAAK;AAAA,MACvC;AAAA,IACJ;AACA,QAAI,sBAAsB,QAAW;AACjC,YAAM,oBAAoB,MAAM,oBAAoB;AAAA,QAChD;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAEA,YAAM,EAAE,OAAO,IAAI,MAAM,oBAAoB;AAAA,QACzC;AAAA,QACA;AAAA,QACA,YACI,cAAc,QAAQ,aAAW,QAAQ,mCAAmC,cAAc,CAAC;AAAA,QAC/F,OAAO,SAAS,WAAW;AACvB,gBAAM,UAAU,MAAM,KAAK,6BAA6B,SAAS,UAAU,MAAM;AACjF,0BAAgB;AAChB,iBAAO;AAAA,QACX;AAAA,MACJ;AAGA,0BAAoB;AAAA,IACxB;AAEA,WAAO,EAAE,mBAAmB,cAAc;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,wBAAwB,SAAiE;AAC3F,UAAM,EAAE,QAAQ,OAAO,IAAI;AAE3B,QAAI,WAAW,QAAW;AACtB,WAAK,mBAAmB,OAAO,UAAU,MAAM,CAAC;AAAA,IACpD;AAGA,UAAM,EAAE,mBAAmB,cAAc,IAAI,MAAM,KAAK,yBAAyB,OAAO;AAGxF,WAAO,MAAM,KAAK,yBAAyB,mBAAmB,SAAS,aAAa;AAAA,EACxF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,6BACF,SACA,UACA,QACuB;AACvB,QAAI;AACJ,QAAI,WAAW,QAAW;AACtB,aAAO,KAAK,4BAA4B,WAAW,yBAAyB,MAAM,CAAC;AAAA,IACvF;AACA,QAAI,QAAQ,SAAS,OAAO;AACxB,YAAM,EAAE,GAAG,IAAI;AAEf,YAAM,gBAAgB,OAAO,EAAE;AAC/B,YAAM,gBAAgB,KAAK,SAAS,WAAW;AAAA,QAC3C,YAAY;AAAA,QACZ,gBAAgB,OAAO;AAAA,MAC3B;AACA,UAAI,kBAAkB,QAAW;AAE7B,cAAM,IAAI;AAAA,UACN,MAAM,gBAAgB,MAAM,GAAG,0CAA0C,EAAE;AAAA,QAC/E;AAAA,MACJ;AACA,oBAAc,MAAM,cAAc,YAAY,OAAO;AAAA,IACzD,WAAW,QAAQ,SAAS,OAAO;AAC/B,YAAM,MAAM,KAAK,SAAS,WAAW,aAAa,YAAY,GAAG;AACjE,UAAI,CAAC,KAAK;AACN,cAAM,IAAI;AAAA,UACN,6CAA6C,QAAQ,iBAAiB;AAAA,QAC1E;AAAA,MACJ;AAEA,oBAAc,MAAM,IAAI,YAAY,OAAO;AAAA,IAC/C,OAAO;AACH,YAAM,IAAI,oBAAoB,iCAAiC,QAAQ,IAAI,EAAE;AAAA,IACjF;AAGA,UAAM,kBAAkB,KAAK,SAAS,SAAS,sBAAsB;AAAA;AAAA,MAEjE,mBAAmB;AAAA,QACf,cAAc,OAAO,QAAQ,GAAG;AAAA,QAChC,gBAAgB,OAAO,QAAQ,GAAG;AAAA,QAClC,iBAAiB,OAAO,QAAQ,GAAG;AAAA,MACvC;AAAA,MACA,aAAa;AAAA,IACjB,CAAC;AACD,UAAM,6BAA6B,IAAI,eAAe,aAAa,eAAe;AAClF,UAAM,eAAe,KAAK,SAAS,UAAU;AAAA,MACzC;AAAA,MACA;AAAA,IACJ;AAEA,QAAI;AACJ,QAAI;AACA,0BAAoB,MAAM,KAAK,YAAY;AAAA,QACvC,KAAK,SAAS,SAAS;AAAA,QACvB;AAAA,QACA;AAAA,MACJ;AAAA,IACJ,SAAS,GAAG;AAER,YAAM,aAAa,MAAM;AACzB,UAAI,aAAa,4BAA4B;AACzC,cAAM,IAAI;AAAA,UACN,uEAAuE,EAAE,OAAO;AAAA,QACpF;AAAA,MACJ;AACA,YAAM;AAAA,IACV;AAEA,UAAM,gBAAgB,QAAQ;AAC9B,WAAO,IAAI,eAAe,aAAa,iBAAiB;AAAA,EAC5D;AAAA;AAAA,EAGA,mBAAmB,SAAsB;AACrC,QAAI,KAAK,SAAS,MAAM,IAAI,OAAO,GAAG;AAClC,YAAM,IAAI,oBAAoB,WAAW,QAAQ,MAAM,iDAAiD;AAAA,IAC5G;AAAA,EACJ;AAAA;AAAA,EAGA,kBAAkB,QAAgB,QAAiB;AAC/C,WAAO,MAAM;AACT,YAAM,UAAU,OAAO,UAAU,UAAU,OAAO,wBAAwB,OAAO,MAAM,CAAC;AACxF,UAAI;AACA,aAAK,mBAAmB,OAAO;AAAA,MACnC,SAAS,OAAO;AACZ,YAAI,iBAAiB,sBAAsB,WAAW,QAAW;AAC7D,gBAAM;AAAA,QACV;AACA;AAAA,MACJ;AACA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,yBACF,0BACA,SACA,eACoB;AACpB,UAAM;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,MACvB,wBAAwB;AAAA,IAC5B,IAAI;AAEJ,UAAM,uBAAuB;AAAA,MACzB,oBAAoB,qBAAqB,uBAAuB;AAAA;AAAA,MAChE,uBAAuB;AAAA,MACvB,GAAG;AAAA,IACP;AA8BA,UAAM,UAAU,KAAK,kBAAkB,QAAQ,qBAAqB,MAAM;AAC1E,WAAO;AAAA,MACH,+BAA+B,QAAQ,MAAM,gBAAgB,OAAO,QAAQ,WAAW,QAAQ,WAAW;AAAA,IAC9G;AACA,UAAM,uBAAuB,IAAI;AAAA;AAAA,MAE7B,IAAI;AAAA,QACA,IAAI,iCAAiC,KAAK,SAAS,WAAW,wBAAwB;AAAA,QACtF,KAAK,SAAS,QAAQ,MAAM;AAAA,QAC5B;AAAA,MACJ;AAAA,MACA,KAAK,SAAS;AAAA,MACd;AAAA,MACA;AAAA,MACA,OAAOA,UAAS,kCAAkC;AAC9C,YAAI,CAAC,+BAA+B;AAMhC,gBAAM,yBAAyB,MAAM;AAAA,QACzC;AAEA,YAAI,6BAA6B,QAAW;AACxC,gBAAM,yBAAyBA,UAAS,aAAa;AACrD;AAAA,QACJ;AAGA,eAAO,MAAM,KAAK,SAAS,QAAQ,QAAQA,UAAS;AAAA,UAChD,kBAAkB;AAAA,YACd,eAAe,kBAAkB;AAAA,YACjC,SAAS,QAAQ,CAAC;AAAA,YAClB;AAAA,UACJ;AAAA,UACA,kBAAkB;AAAA,QACtB,CAAC;AAAA,MACL;AAAA,IACJ;AAEA,QAAI;AACA,YAAM,qBAAqB,qBAAqB;AAAA,IACpD,SAAS,OAAO;AAEZ,YAAM,KAAK,SAAS,QAAQ,MAAM,OAAO,OAAO;AAChD,YAAM;AAAA,IACV,UAAE;AACE,UAAI,CAAC,yBAAyB,QAAQ;AAMlC,cAAM,yBAAyB,MAAM;AAAA,MACzC;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;",
|
|
5
5
|
"names": ["address"]
|
|
6
6
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { DiscoveryData } from "#common/Scanner.js";
|
|
7
|
-
import {
|
|
7
|
+
import { ServerAddressUdp } from "#general";
|
|
8
8
|
import type { PeerDataStore } from "#peer/PeerAddressStore.js";
|
|
9
9
|
import { SessionParameters } from "#session/Session.js";
|
|
10
10
|
import { PeerAddress } from "./PeerAddress.js";
|
|
@@ -21,7 +21,7 @@ export interface OperationalPeer {
|
|
|
21
21
|
/**
|
|
22
22
|
* A physical address the peer may be accessed at, if known.
|
|
23
23
|
*/
|
|
24
|
-
operationalAddress?:
|
|
24
|
+
operationalAddress?: ServerAddressUdp;
|
|
25
25
|
/**
|
|
26
26
|
* The peer's session parameters reported during discovery.
|
|
27
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OperationalPeer.d.ts","sourceRoot":"","sources":["../../../src/peer/OperationalPeer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"OperationalPeer.d.ts","sourceRoot":"","sources":["../../../src/peer/OperationalPeer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B;;OAEG;IACH,OAAO,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IAEtC;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;CAC7B"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { ReadScope } from "#action/client/ReadScope.js";
|
|
6
7
|
import { Construction, MaybePromise } from "#general";
|
|
7
8
|
import { DecodedAttributeReportValue } from "#interaction/AttributeDataDecoder.js";
|
|
8
9
|
import { AttributeId, ClusterId, EndpointNumber, EventNumber } from "#types";
|
|
@@ -21,7 +22,7 @@ export declare abstract class PeerDataStore {
|
|
|
21
22
|
abstract construction: Construction<PeerDataStore>;
|
|
22
23
|
abstract maxEventNumber: EventNumber;
|
|
23
24
|
abstract updateLastEventNumber(eventNumber: EventNumber): MaybePromise<void>;
|
|
24
|
-
abstract persistAttributes(attributes: DecodedAttributeReportValue<any>[]): MaybePromise<void>;
|
|
25
|
+
abstract persistAttributes(attributes: DecodedAttributeReportValue<any>[], scope: ReadScope): MaybePromise<void>;
|
|
25
26
|
abstract retrieveAttribute(endpointId: EndpointNumber, clusterId: ClusterId, attributeId: AttributeId): DecodedAttributeReportValue<any> | undefined;
|
|
26
27
|
abstract retrieveAttributes(endpointId: EndpointNumber, clusterId: ClusterId): DecodedAttributeReportValue<any>[];
|
|
27
28
|
abstract getClusterDataVersion(endpointId: EndpointNumber, clusterId: ClusterId): number | undefined;
|
|
@@ -30,5 +31,6 @@ export declare abstract class PeerDataStore {
|
|
|
30
31
|
clusterId: ClusterId;
|
|
31
32
|
dataVersion: number;
|
|
32
33
|
}[];
|
|
34
|
+
abstract cleanupAttributeData(endpointId: EndpointNumber, clusterIds?: ClusterId[]): MaybePromise<void>;
|
|
33
35
|
}
|
|
34
36
|
//# sourceMappingURL=PeerAddressStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeerAddressStore.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddressStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;GAEG;AACH,8BAAsB,gBAAgB;IAClC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAC7D,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;CAC1F;AAED,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAE5E,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PeerAddressStore.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerAddressStore.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C;;GAEG;AACH,8BAAsB,gBAAgB;IAClC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC7D,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAAC,IAAI,CAAC;IAC9D,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAC7D,QAAQ,CAAC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;CAC1F;AAED,8BAAsB,aAAa;IAC/B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC;IACrC,QAAQ,CAAC,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC;IAE5E,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,2BAA2B,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC;IAGhH,QAAQ,CAAC,iBAAiB,CACtB,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,GACzB,2BAA2B,CAAC,GAAG,CAAC,GAAG,SAAS;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,2BAA2B,CAAC,GAAG,CAAC,EAAE;IACjH,QAAQ,CAAC,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IACpG,QAAQ,CAAC,sBAAsB,CAC3B,gBAAgB,CAAC,EAAE,cAAc,EACjC,eAAe,CAAC,EAAE,SAAS,GAC5B;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,UAAU,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;CAC1G"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/peer/PeerAddressStore.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAe,iBAAiB;AAKvC;AAEO,MAAe,cAAc;AAqBpC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { DiscoveryData, ScannerSet } from "#common/Scanner.js";
|
|
7
|
-
import { AsyncObservable, BasicSet, Construction, Duration, Environment, Environmental, ImmutableSet, MatterError,
|
|
7
|
+
import { AsyncObservable, BasicSet, ConnectionlessTransportSet, Construction, Duration, Environment, Environmental, ImmutableSet, MatterError, ObservableSet, ServerAddressUdp } from "#general";
|
|
8
8
|
import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
|
|
9
9
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
10
10
|
import { ChannelManager } from "#protocol/ChannelManager.js";
|
|
@@ -56,7 +56,7 @@ export interface PeerSetContext {
|
|
|
56
56
|
exchanges: ExchangeManager;
|
|
57
57
|
subscriptionClient: SubscriptionClient;
|
|
58
58
|
scanners: ScannerSet;
|
|
59
|
-
|
|
59
|
+
transports: ConnectionlessTransportSet;
|
|
60
60
|
store: PeerAddressStore;
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
@@ -84,7 +84,7 @@ export declare class PeerSet implements ImmutableSet<OperationalPeer>, Observabl
|
|
|
84
84
|
*/
|
|
85
85
|
ensureConnection(address: PeerAddress, options: PeerConnectionOptions & {
|
|
86
86
|
allowUnknownPeer?: boolean;
|
|
87
|
-
operationalAddress?:
|
|
87
|
+
operationalAddress?: ServerAddressUdp;
|
|
88
88
|
}): Promise<MessageChannel | undefined>;
|
|
89
89
|
/**
|
|
90
90
|
* Obtain an exchange provider for the designated peer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PeerSet.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerSet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAEH,eAAe,EACf,QAAQ,EAER,YAAY,EAEZ,QAAQ,EACR,WAAW,EACX,aAAa,EACb,YAAY,EAKZ,WAAW,
|
|
1
|
+
{"version":3,"file":"PeerSet.d.ts","sourceRoot":"","sources":["../../../src/peer/PeerSet.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/peer/PeerSet.js
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
AsyncObservable,
|
|
10
10
|
BasicSet,
|
|
11
11
|
ChannelType,
|
|
12
|
+
ConnectionlessTransportSet,
|
|
12
13
|
Construction,
|
|
13
14
|
createPromise,
|
|
14
15
|
Duration,
|
|
@@ -19,7 +20,6 @@ import {
|
|
|
19
20
|
Logger,
|
|
20
21
|
MatterError,
|
|
21
22
|
Minutes,
|
|
22
|
-
NetInterfaceSet,
|
|
23
23
|
NoResponseTimeoutError,
|
|
24
24
|
Seconds,
|
|
25
25
|
ServerAddress,
|
|
@@ -58,7 +58,7 @@ class PeerSet {
|
|
|
58
58
|
#exchanges;
|
|
59
59
|
#subscriptionClient;
|
|
60
60
|
#scanners;
|
|
61
|
-
#
|
|
61
|
+
#transports;
|
|
62
62
|
#caseClient;
|
|
63
63
|
#peers = new BasicSet();
|
|
64
64
|
#peersByAddress = new PeerAddressMap();
|
|
@@ -71,13 +71,21 @@ class PeerSet {
|
|
|
71
71
|
// Temporarily until we store it in new API
|
|
72
72
|
#disconnected = AsyncObservable();
|
|
73
73
|
constructor(context) {
|
|
74
|
-
const {
|
|
74
|
+
const {
|
|
75
|
+
sessions,
|
|
76
|
+
channels,
|
|
77
|
+
exchanges,
|
|
78
|
+
subscriptionClient,
|
|
79
|
+
scanners,
|
|
80
|
+
transports: netInterfaces,
|
|
81
|
+
store
|
|
82
|
+
} = context;
|
|
75
83
|
this.#sessions = sessions;
|
|
76
84
|
this.#channels = channels;
|
|
77
85
|
this.#exchanges = exchanges;
|
|
78
86
|
this.#subscriptionClient = subscriptionClient;
|
|
79
87
|
this.#scanners = scanners;
|
|
80
|
-
this.#
|
|
88
|
+
this.#transports = netInterfaces;
|
|
81
89
|
this.#store = store;
|
|
82
90
|
this.#caseClient = new CaseClient(this.#sessions);
|
|
83
91
|
this.#peers.added.on((peer) => {
|
|
@@ -144,7 +152,7 @@ class PeerSet {
|
|
|
144
152
|
exchanges: env.get(ExchangeManager),
|
|
145
153
|
subscriptionClient: env.get(SubscriptionClient),
|
|
146
154
|
scanners: env.get(ScannerSet),
|
|
147
|
-
|
|
155
|
+
transports: env.get(ConnectionlessTransportSet),
|
|
148
156
|
store: env.get(PeerAddressStore)
|
|
149
157
|
});
|
|
150
158
|
env.set(PeerSet, instance);
|
|
@@ -485,7 +493,7 @@ class PeerSet {
|
|
|
485
493
|
const groupId = GroupId.fromNodeId(address.nodeId);
|
|
486
494
|
GroupId.assertGroupId(groupId);
|
|
487
495
|
const multicastAddress = this.#sessions.fabricFor(address).groups.multicastAddressFor(groupId);
|
|
488
|
-
const operationalInterface = this.#
|
|
496
|
+
const operationalInterface = this.#transports.interfaceFor(ChannelType.UDP, multicastAddress);
|
|
489
497
|
if (operationalInterface === void 0) {
|
|
490
498
|
throw new PairRetransmissionLimitReachedError(`IPv6 interface not initialized`);
|
|
491
499
|
}
|
|
@@ -504,10 +512,7 @@ class PeerSet {
|
|
|
504
512
|
logger.debug(`Pair with ${address} at ${ServerAddress.urlFor(operationalServerAddress)}`);
|
|
505
513
|
const { ip, port } = operationalServerAddress;
|
|
506
514
|
const isIpv6Address = isIPv6(ip);
|
|
507
|
-
const operationalInterface = this.#
|
|
508
|
-
ChannelType.UDP,
|
|
509
|
-
isIpv6Address ? "::" : "0.0.0.0"
|
|
510
|
-
);
|
|
515
|
+
const operationalInterface = this.#transports.interfaceFor(ChannelType.UDP, isIpv6Address ? "::" : "0.0.0.0");
|
|
511
516
|
if (operationalInterface === void 0) {
|
|
512
517
|
throw new PairRetransmissionLimitReachedError(
|
|
513
518
|
`IPv${isIpv6Address ? "6" : "4"} interface not initialized for port ${port}. Cannot use ${ip} for pairing.`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/peer/PeerSet.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["NodeDiscoveryType", "stopTimerFunc", "operationalAddress", "result"]
|
|
6
6
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Crypto, Environment, Environmental
|
|
6
|
+
import { ConnectionlessTransportSet, Crypto, Environment, Environmental } from "#general";
|
|
7
7
|
import { PeerAddress } from "#peer/PeerAddress.js";
|
|
8
8
|
import { MessageChannel } from "#protocol/MessageChannel.js";
|
|
9
9
|
import { SessionManager } from "#session/SessionManager.js";
|
|
@@ -15,7 +15,7 @@ import { ProtocolHandler } from "./ProtocolHandler.js";
|
|
|
15
15
|
*/
|
|
16
16
|
export interface ExchangeManagerContext {
|
|
17
17
|
crypto: Crypto;
|
|
18
|
-
|
|
18
|
+
netInterface: ConnectionlessTransportSet;
|
|
19
19
|
sessionManager: SessionManager;
|
|
20
20
|
channelManager: ChannelManager;
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAIH,0BAA0B,EAC1B,MAAM,EAEN,WAAW,EACX,aAAa,EAShB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAGH,cAAc,EACjB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,0BAA0B,CAAC;IACzC,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,qBAAa,eAAe;;gBAYZ,OAAO,EAAE,sBAAsB;IAqB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAW9C,IAAI,QAAQ,mBAEX;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,QAAQ,EAAE,eAAe;IAO5C,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM;IAIzD,2BAA2B,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM;IAQjE,KAAK;YAkBG,SAAS;IAqLjB,cAAc,CAAC,aAAa,EAAE,MAAM;IAwF1C,qCAAqC,CACjC,OAAO,EAAE,cAAc,EACvB,sBAAsB,8BAAmC;CA2DhE;AAED,qBAAa,eAAe;;gBAGZ,MAAM,EAAE,MAAM;IAI1B,qBAAqB;CAOxB"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import { MessageCodec, SessionType } from "#codec/MessageCodec.js";
|
|
7
7
|
import {
|
|
8
8
|
Bytes,
|
|
9
|
+
ConnectionlessTransportSet,
|
|
9
10
|
Crypto,
|
|
10
11
|
Diagnostic,
|
|
11
12
|
Environmental,
|
|
@@ -15,7 +16,6 @@ import {
|
|
|
15
16
|
MatterError,
|
|
16
17
|
MatterFlowError,
|
|
17
18
|
ObserverGroup,
|
|
18
|
-
TransportInterfaceSet,
|
|
19
19
|
UdpInterface,
|
|
20
20
|
UnexpectedDataError
|
|
21
21
|
} from "#general";
|
|
@@ -34,7 +34,7 @@ import { DuplicateMessageError } from "./MessageReceptionState.js";
|
|
|
34
34
|
const logger = Logger.get("ExchangeManager");
|
|
35
35
|
const MAXIMUM_CONCURRENT_EXCHANGES_PER_SESSION = 5;
|
|
36
36
|
class ExchangeManager {
|
|
37
|
-
#
|
|
37
|
+
#transports;
|
|
38
38
|
#sessionManager;
|
|
39
39
|
#channelManager;
|
|
40
40
|
#exchangeCounter;
|
|
@@ -45,15 +45,15 @@ class ExchangeManager {
|
|
|
45
45
|
#observers = new ObserverGroup(this);
|
|
46
46
|
#closing = false;
|
|
47
47
|
constructor(context) {
|
|
48
|
-
this.#
|
|
48
|
+
this.#transports = context.netInterface;
|
|
49
49
|
this.#sessionManager = context.sessionManager;
|
|
50
50
|
this.#channelManager = context.channelManager;
|
|
51
51
|
this.#exchangeCounter = new ExchangeCounter(context.crypto);
|
|
52
|
-
for (const
|
|
53
|
-
this.#addListener(
|
|
52
|
+
for (const netInterface of this.#transports) {
|
|
53
|
+
this.#addListener(netInterface);
|
|
54
54
|
}
|
|
55
|
-
this.#observers.on(this.#
|
|
56
|
-
this.#observers.on(this.#
|
|
55
|
+
this.#observers.on(this.#transports.added, this.#addListener);
|
|
56
|
+
this.#observers.on(this.#transports.deleted, this.#deleteListener);
|
|
57
57
|
this.#observers.on(this.#sessionManager.sessions.deleted, (session) => {
|
|
58
58
|
if (!session.closingAfterExchangeFinished) {
|
|
59
59
|
session.closer = this.#closeSession(session);
|
|
@@ -63,7 +63,7 @@ class ExchangeManager {
|
|
|
63
63
|
static [Environmental.create](env) {
|
|
64
64
|
const instance = new ExchangeManager({
|
|
65
65
|
crypto: env.get(Crypto),
|
|
66
|
-
|
|
66
|
+
netInterface: env.get(ConnectionlessTransportSet),
|
|
67
67
|
sessionManager: env.get(SessionManager),
|
|
68
68
|
channelManager: env.get(ChannelManager)
|
|
69
69
|
});
|
|
@@ -190,7 +190,7 @@ class ExchangeManager {
|
|
|
190
190
|
);
|
|
191
191
|
}
|
|
192
192
|
const protocolHandler = this.#protocols.get(message.payloadHeader.protocolId);
|
|
193
|
-
if (protocolHandler !== void 0 && protocolHandler.requiresSecureSession !== session.isSecure) {
|
|
193
|
+
if (protocolHandler !== void 0 && protocolHandler.requiresSecureSession !== session.isSecure && !isStandaloneAck) {
|
|
194
194
|
logger.debug(
|
|
195
195
|
`Ignoring message ${messageId} for protocol ${message.payloadHeader.protocolId} and exchange id ${message.payloadHeader.exchangeId} on channel ${channel.name} because not matching the security requirements.`
|
|
196
196
|
);
|
|
@@ -234,7 +234,7 @@ class ExchangeManager {
|
|
|
234
234
|
);
|
|
235
235
|
}
|
|
236
236
|
return;
|
|
237
|
-
} else {
|
|
237
|
+
} else if (!isStandaloneAck) {
|
|
238
238
|
logger.info(
|
|
239
239
|
`Discarding unexpected message ${messageId} for protocol ${message.payloadHeader.protocolId}, exchangeIndex ${exchangeIndex} and sessionId ${session.id} on channel ${channel.name}: ${Diagnostic.json(message)}`
|
|
240
240
|
);
|
|
@@ -318,7 +318,11 @@ class ExchangeManager {
|
|
|
318
318
|
exchangeToClose.close().catch((error) => logger.error("Error closing exchange", error));
|
|
319
319
|
}
|
|
320
320
|
calculateMaximumPeerResponseTimeMsFor(channel, expectedProcessingTime = DEFAULT_EXPECTED_PROCESSING_TIME) {
|
|
321
|
-
return channel.calculateMaximumPeerResponseTime(
|
|
321
|
+
return channel.calculateMaximumPeerResponseTime(
|
|
322
|
+
channel.session.parameters,
|
|
323
|
+
this.#sessionManager.sessionParameters,
|
|
324
|
+
expectedProcessingTime
|
|
325
|
+
);
|
|
322
326
|
}
|
|
323
327
|
#messageExchangeContextFor(channel) {
|
|
324
328
|
return {
|
|
@@ -327,11 +331,11 @@ class ExchangeManager {
|
|
|
327
331
|
retry: (number) => this.#sessionManager.retry.emit(channel.session, number)
|
|
328
332
|
};
|
|
329
333
|
}
|
|
330
|
-
#addListener(
|
|
331
|
-
const udpInterface =
|
|
334
|
+
#addListener(netInterface) {
|
|
335
|
+
const udpInterface = netInterface instanceof UdpInterface;
|
|
332
336
|
this.#listeners.set(
|
|
333
|
-
|
|
334
|
-
|
|
337
|
+
netInterface,
|
|
338
|
+
netInterface.onData((socket, data) => {
|
|
335
339
|
if (udpInterface && data.byteLength > socket.maxPayloadSize) {
|
|
336
340
|
logger.warn(
|
|
337
341
|
`Ignoring UDP message on channel ${socket.name} with size ${data.byteLength} from ${socket.name}, which is larger than the maximum allowed size of ${socket.maxPayloadSize}.`
|
|
@@ -354,12 +358,12 @@ class ExchangeManager {
|
|
|
354
358
|
})
|
|
355
359
|
);
|
|
356
360
|
}
|
|
357
|
-
#deleteListener(
|
|
358
|
-
const listener = this.#listeners.get(
|
|
361
|
+
#deleteListener(netInterface) {
|
|
362
|
+
const listener = this.#listeners.get(netInterface);
|
|
359
363
|
if (listener === void 0) {
|
|
360
364
|
return;
|
|
361
365
|
}
|
|
362
|
-
this.#listeners.delete(
|
|
366
|
+
this.#listeners.delete(netInterface);
|
|
363
367
|
const closer = listener.close().catch((e) => logger.error("Error closing network listener", e)).finally(() => this.#closers.delete(closer));
|
|
364
368
|
this.#closers.add(closer);
|
|
365
369
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/protocol/ExchangeManager.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAyB,cAAc,mBAAmB;AAC1D;AAAA,EACI;AAAA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["exchange"]
|
|
6
6
|
}
|
|
@@ -51,7 +51,7 @@ export declare class MessageChannel implements Channel<Message> {
|
|
|
51
51
|
send(message: Message, logContext?: ExchangeLogContext): Promise<void>;
|
|
52
52
|
get name(): string;
|
|
53
53
|
close(): Promise<void>;
|
|
54
|
-
calculateMaximumPeerResponseTime(
|
|
54
|
+
calculateMaximumPeerResponseTime(peerSessionParameters: SessionParameters, localSessionParameters: SessionParameters, expectedProcessingTime?: Duration): Duration;
|
|
55
55
|
/**
|
|
56
56
|
* Calculates the backoff time for a resubmission based on the current retransmission count.
|
|
57
57
|
* If no session parameters are provided, the parameters of the current session are used.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,WAAW,EAAoC,MAAM,UAAU,CAAC;AAC3G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,UAAa,CAAC;AAQ3D,yBAAiB,GAAG,CAAC;IACjB;;;OAGG;IACI,MAAM,iBAAiB,IAAI,CAAC;IAEnC,4DAA4D;IACrD,MAAM,YAAY,MAAM,CAAC;IAEhC,4DAA4D;IACrD,MAAM,cAAc,OAAO,CAAC;IAEnC,2EAA2E;IACpE,MAAM,cAAc,MAAM,CAAC;IAElC,6FAA6F;IACtF,MAAM,iBAAiB,IAAI,CAAC;IAEnC,gEAAgE;IACzD,MAAM,sBAAsB,UAAc,CAAC;CACrD;AAED,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAM/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO;IANtB,MAAM,UAAS;gBAKT,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,OAAO,EAAE,OAAO,EACzB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAKvC,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAE9C;IAED,IAAI,OAAO,YAEV;IAED,4CAA4C;IAC5C,IAAI,UAAU,YAEb;IAED,IAAI,IAAI,mCAEP;IAED;;;OAGG;IACH,IAAI,cAAc,WAEjB;IAEK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB;IAa5D,IAAI,IAAI,WAEP;IAEK,KAAK;IASX,gCAAgC,CAC5B,iBAAiB,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAgB,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAU,WAAW,EAAoC,MAAM,UAAU,CAAC;AAC3G,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIjE,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,UAAa,CAAC;AAQ3D,yBAAiB,GAAG,CAAC;IACjB;;;OAGG;IACI,MAAM,iBAAiB,IAAI,CAAC;IAEnC,4DAA4D;IACrD,MAAM,YAAY,MAAM,CAAC;IAEhC,4DAA4D;IACrD,MAAM,cAAc,OAAO,CAAC;IAEnC,2EAA2E;IACpE,MAAM,cAAc,MAAM,CAAC;IAElC,6FAA6F;IACtF,MAAM,iBAAiB,IAAI,CAAC;IAEnC,gEAAgE;IACzD,MAAM,sBAAsB,UAAc,CAAC;CACrD;AAED,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAM/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,OAAO;IANtB,MAAM,UAAS;gBAKT,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,EACvB,OAAO,EAAE,OAAO,EACzB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAKvC,IAAI,aAAa,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAE9C;IAED,IAAI,OAAO,YAEV;IAED,4CAA4C;IAC5C,IAAI,UAAU,YAEb;IAED,IAAI,IAAI,mCAEP;IAED;;;OAGG;IACH,IAAI,cAAc,WAEjB;IAEK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB;IAa5D,IAAI,IAAI,WAEP;IAEK,KAAK;IASX,gCAAgC,CAC5B,qBAAqB,EAAE,iBAAiB,EACxC,sBAAsB,EAAE,iBAAiB,EACzC,sBAAsB,WAAmC,GAC1D,QAAQ;IA8BX;;;;;;;OAOG;IACH,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;CA2BnG"}
|
|
@@ -70,7 +70,7 @@ class MessageChannel {
|
|
|
70
70
|
await this.#closeCallback?.();
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
calculateMaximumPeerResponseTime(
|
|
73
|
+
calculateMaximumPeerResponseTime(peerSessionParameters, localSessionParameters, expectedProcessingTime = DEFAULT_EXPECTED_PROCESSING_TIME) {
|
|
74
74
|
switch (this.channel.type) {
|
|
75
75
|
case "tcp":
|
|
76
76
|
return Millis(Seconds(30) + PEER_RESPONSE_TIME_BUFFER);
|
|
@@ -79,7 +79,7 @@ class MessageChannel {
|
|
|
79
79
|
throw new MatterFlowError("No response expected for this message exchange because UDP and no MRP.");
|
|
80
80
|
}
|
|
81
81
|
return Millis(
|
|
82
|
-
this.#calculateMrpMaximumPeerResponseTime(
|
|
82
|
+
this.#calculateMrpMaximumPeerResponseTime(peerSessionParameters) + this.#calculateMrpMaximumPeerResponseTime(localSessionParameters) + expectedProcessingTime + PEER_RESPONSE_TIME_BUFFER
|
|
83
83
|
);
|
|
84
84
|
case "ble":
|
|
85
85
|
return Millis(Seconds(30) + PEER_RESPONSE_TIME_BUFFER);
|
|
@@ -99,15 +99,17 @@ class MessageChannel {
|
|
|
99
99
|
*/
|
|
100
100
|
getMrpResubmissionBackOffTime(retransmissionCount, sessionParameters) {
|
|
101
101
|
const { activeInterval, idleInterval } = sessionParameters ?? this.session.parameters;
|
|
102
|
-
const
|
|
102
|
+
const peerActive = retransmissionCount > 0 && (sessionParameters !== void 0 || this.session.isPeerActive());
|
|
103
|
+
const baseInterval = peerActive ? activeInterval : idleInterval;
|
|
103
104
|
return Millis.floor(
|
|
104
105
|
Millis(
|
|
105
106
|
baseInterval * MRP.BACKOFF_MARGIN * Math.pow(MRP.BACKOFF_BASE, Math.max(0, retransmissionCount - MRP.BACKOFF_THRESHOLD)) * (1 + (sessionParameters !== void 0 ? 1 : Math.random()) * MRP.BACKOFF_JITTER)
|
|
106
107
|
)
|
|
107
108
|
);
|
|
108
109
|
}
|
|
109
|
-
|
|
110
|
-
|
|
110
|
+
/** Calculates the maximum time the peer might take to respond when using MRP for one direction. */
|
|
111
|
+
#calculateMrpMaximumPeerResponseTime(sessionParameters) {
|
|
112
|
+
let finalWaitTime = 0;
|
|
111
113
|
for (let i = 0; i < MRP.MAX_TRANSMISSIONS; i++) {
|
|
112
114
|
finalWaitTime = Millis(finalWaitTime + this.getMrpResubmissionBackOffTime(i, sessionParameters));
|
|
113
115
|
}
|