@matter/protocol 0.15.0-alpha.0-20250625-4a4b1be1b → 0.15.0-alpha.0-20250626-fc3a84ce9

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.
Files changed (117) hide show
  1. package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -1
  2. package/dist/cjs/cluster/client/ClusterClient.js +7 -1
  3. package/dist/cjs/cluster/client/ClusterClient.js.map +1 -1
  4. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +10 -0
  5. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  6. package/dist/cjs/interaction/InteractionClient.d.ts +8 -1
  7. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  8. package/dist/cjs/interaction/InteractionClient.js +15 -10
  9. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  10. package/dist/cjs/interaction/InteractionMessenger.d.ts +0 -1
  11. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  12. package/dist/cjs/interaction/InteractionMessenger.js +0 -3
  13. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  14. package/dist/cjs/interaction/SubscriptionClient.d.ts +1 -1
  15. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -1
  16. package/dist/cjs/interaction/SubscriptionClient.js +1 -1
  17. package/dist/cjs/peer/ControllerCommissioner.d.ts +3 -2
  18. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  19. package/dist/cjs/peer/ControllerCommissioner.js +6 -5
  20. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  21. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  22. package/dist/cjs/peer/ControllerCommissioningFlow.js +81 -52
  23. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  24. package/dist/cjs/peer/PeerSet.d.ts +4 -3
  25. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  26. package/dist/cjs/peer/PeerSet.js +9 -8
  27. package/dist/cjs/peer/PeerSet.js.map +1 -1
  28. package/dist/cjs/protocol/ChannelManager.d.ts +2 -2
  29. package/dist/cjs/protocol/ChannelManager.d.ts.map +1 -1
  30. package/dist/cjs/protocol/ChannelManager.js +4 -4
  31. package/dist/cjs/protocol/ChannelManager.js.map +1 -1
  32. package/dist/cjs/protocol/ExchangeManager.d.ts +5 -24
  33. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  34. package/dist/cjs/protocol/ExchangeManager.js +12 -55
  35. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  36. package/dist/cjs/protocol/ExchangeProvider.d.ts +10 -6
  37. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  38. package/dist/cjs/protocol/ExchangeProvider.js +12 -1
  39. package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
  40. package/dist/cjs/protocol/MessageChannel.d.ts +52 -0
  41. package/dist/cjs/protocol/MessageChannel.d.ts.map +1 -0
  42. package/dist/cjs/protocol/MessageChannel.js +130 -0
  43. package/dist/cjs/protocol/MessageChannel.js.map +6 -0
  44. package/dist/cjs/protocol/MessageExchange.d.ts +5 -5
  45. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  46. package/dist/cjs/protocol/MessageExchange.js +34 -78
  47. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  48. package/dist/cjs/protocol/index.d.ts +1 -0
  49. package/dist/cjs/protocol/index.d.ts.map +1 -1
  50. package/dist/cjs/protocol/index.js +1 -0
  51. package/dist/cjs/protocol/index.js.map +1 -1
  52. package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -1
  53. package/dist/esm/cluster/client/ClusterClient.js +7 -1
  54. package/dist/esm/cluster/client/ClusterClient.js.map +1 -1
  55. package/dist/esm/cluster/client/ClusterClientTypes.d.ts +10 -0
  56. package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  57. package/dist/esm/interaction/InteractionClient.d.ts +8 -1
  58. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  59. package/dist/esm/interaction/InteractionClient.js +15 -10
  60. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  61. package/dist/esm/interaction/InteractionMessenger.d.ts +0 -1
  62. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  63. package/dist/esm/interaction/InteractionMessenger.js +0 -3
  64. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  65. package/dist/esm/interaction/SubscriptionClient.d.ts +1 -1
  66. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -1
  67. package/dist/esm/interaction/SubscriptionClient.js +1 -1
  68. package/dist/esm/peer/ControllerCommissioner.d.ts +3 -2
  69. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  70. package/dist/esm/peer/ControllerCommissioner.js +4 -3
  71. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  72. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  73. package/dist/esm/peer/ControllerCommissioningFlow.js +81 -52
  74. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  75. package/dist/esm/peer/PeerSet.d.ts +4 -3
  76. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  77. package/dist/esm/peer/PeerSet.js +5 -4
  78. package/dist/esm/peer/PeerSet.js.map +1 -1
  79. package/dist/esm/protocol/ChannelManager.d.ts +2 -2
  80. package/dist/esm/protocol/ChannelManager.d.ts.map +1 -1
  81. package/dist/esm/protocol/ChannelManager.js +2 -2
  82. package/dist/esm/protocol/ChannelManager.js.map +1 -1
  83. package/dist/esm/protocol/ExchangeManager.d.ts +5 -24
  84. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  85. package/dist/esm/protocol/ExchangeManager.js +13 -56
  86. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  87. package/dist/esm/protocol/ExchangeProvider.d.ts +10 -6
  88. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  89. package/dist/esm/protocol/ExchangeProvider.js +12 -1
  90. package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
  91. package/dist/esm/protocol/MessageChannel.d.ts +52 -0
  92. package/dist/esm/protocol/MessageChannel.d.ts.map +1 -0
  93. package/dist/esm/protocol/MessageChannel.js +110 -0
  94. package/dist/esm/protocol/MessageChannel.js.map +6 -0
  95. package/dist/esm/protocol/MessageExchange.d.ts +5 -5
  96. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  97. package/dist/esm/protocol/MessageExchange.js +39 -83
  98. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  99. package/dist/esm/protocol/index.d.ts +1 -0
  100. package/dist/esm/protocol/index.d.ts.map +1 -1
  101. package/dist/esm/protocol/index.js +1 -0
  102. package/dist/esm/protocol/index.js.map +1 -1
  103. package/package.json +6 -6
  104. package/src/cluster/client/ClusterClient.ts +8 -1
  105. package/src/cluster/client/ClusterClientTypes.ts +12 -0
  106. package/src/interaction/InteractionClient.ts +29 -16
  107. package/src/interaction/InteractionMessenger.ts +0 -4
  108. package/src/interaction/SubscriptionClient.ts +2 -2
  109. package/src/peer/ControllerCommissioner.ts +4 -3
  110. package/src/peer/ControllerCommissioningFlow.ts +96 -57
  111. package/src/peer/PeerSet.ts +5 -4
  112. package/src/protocol/ChannelManager.ts +3 -3
  113. package/src/protocol/ExchangeManager.ts +18 -67
  114. package/src/protocol/ExchangeProvider.ts +20 -6
  115. package/src/protocol/MessageChannel.ts +163 -0
  116. package/src/protocol/MessageExchange.ts +40 -119
  117. package/src/protocol/index.ts +1 -0
@@ -5,8 +5,8 @@
5
5
  */
6
6
  import { AsyncObservable, Channel, Environment, Environmental, MatterError } from "#general";
7
7
  import { PeerAddress } from "#peer/PeerAddress.js";
8
- import { Session } from "../session/Session.js";
9
- import { MessageChannel } from "./ExchangeManager.js";
8
+ import { MessageChannel } from "#protocol/MessageChannel.js";
9
+ import { Session } from "#session/Session.js";
10
10
  export declare class NoChannelError extends MatterError {
11
11
  }
12
12
  export declare class ChannelManager {
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ChannelManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,qBAAa,cAAe,SAAQ,WAAW;CAAG;AAElD,qBAAa,cAAc;;gBAOX,4BAA4B,SAAI;IAI5C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,IAAI,KAAK,2EAER;IAED,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAE7C;IAYK,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc;IAmB9D,UAAU,CAAC,OAAO,EAAE,WAAW;IAM/B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO;IAalD;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAY/B,qBAAqB,CAAC,OAAO,EAAE,WAAW;IAO1C,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;IAiB1D,OAAO,CAAC,wBAAwB;IAc1B,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO;IA2B1E,KAAK;CAYd"}
1
+ {"version":3,"file":"ChannelManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ChannelManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAU,WAAW,EAAE,MAAM,UAAU,CAAC;AACrG,OAAO,EAAE,WAAW,EAAkB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C,qBAAa,cAAe,SAAQ,WAAW;CAAG;AAElD,qBAAa,cAAc;;gBAOX,4BAA4B,SAAI;IAI5C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAM9C,IAAI,KAAK,2EAER;IAED,IAAI,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAE7C;IAYK,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc;IAmB9D,UAAU,CAAC,OAAO,EAAE,WAAW;IAM/B,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,OAAO;IAalD;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAY/B,qBAAqB,CAAC,OAAO,EAAE,WAAW;IAO1C,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO;IAiB1D,OAAO,CAAC,wBAAwB;IAc1B,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,OAAO;IA2B1E,KAAK;CAYd"}
@@ -24,8 +24,8 @@ __export(ChannelManager_exports, {
24
24
  module.exports = __toCommonJS(ChannelManager_exports);
25
25
  var import_general = require("#general");
26
26
  var import_PeerAddress = require("#peer/PeerAddress.js");
27
- var import_NodeSession = require("../session/NodeSession.js");
28
- var import_ExchangeManager = require("./ExchangeManager.js");
27
+ var import_MessageChannel = require("#protocol/MessageChannel.js");
28
+ var import_NodeSession = require("#session/NodeSession.js");
29
29
  /**
30
30
  * @license
31
31
  * Copyright 2022-2025 Matter.js Authors
@@ -130,7 +130,7 @@ class ChannelManager {
130
130
  this.#channels.set(address, fabricChannels);
131
131
  }
132
132
  getOrCreateAsPaseChannel(byteArrayChannel, session) {
133
- const msgChannel = new import_ExchangeManager.MessageChannel(
133
+ const msgChannel = new import_MessageChannel.MessageChannel(
134
134
  byteArrayChannel,
135
135
  session,
136
136
  async () => void this.#paseChannels.delete(session)
@@ -156,7 +156,7 @@ class ChannelManager {
156
156
  } catch (e) {
157
157
  NoChannelError.accept(e);
158
158
  }
159
- const msgChannel = new import_ExchangeManager.MessageChannel(
159
+ const msgChannel = new import_MessageChannel.MessageChannel(
160
160
  byteArrayChannel,
161
161
  session,
162
162
  async () => this.removeChannel(address, session)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/ChannelManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,35 +3,15 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Channel, Crypto, Environment, Environmental, MatterError, TransportInterfaceSet } from "#general";
6
+ import { Crypto, Environment, Environmental, MatterError, TransportInterfaceSet } from "#general";
7
7
  import { PeerAddress } from "#peer/PeerAddress.js";
8
- import { Message } from "../codec/MessageCodec.js";
9
- import { Session } from "../session/Session.js";
10
- import { SessionManager } from "../session/SessionManager.js";
8
+ import { MessageChannel } from "#protocol/MessageChannel.js";
9
+ import { SessionManager } from "#session/SessionManager.js";
11
10
  import { ChannelManager } from "./ChannelManager.js";
12
- import { ExchangeLogContext, MessageExchange } from "./MessageExchange.js";
11
+ import { MessageExchange } from "./MessageExchange.js";
13
12
  import { ProtocolHandler } from "./ProtocolHandler.js";
14
13
  export declare class ChannelNotConnectedError extends MatterError {
15
14
  }
16
- export declare class MessageChannel implements Channel<Message> {
17
- #private;
18
- readonly channel: Channel<Uint8Array>;
19
- readonly session: Session;
20
- closed: boolean;
21
- constructor(channel: Channel<Uint8Array>, session: Session, closeCallback?: () => Promise<void>);
22
- set closeCallback(callback: () => Promise<void>);
23
- /** Is the underlying transport reliable? */
24
- get isReliable(): boolean;
25
- get type(): import("#general").ChannelType;
26
- /**
27
- * Max Payload size of the exchange which bases on the maximum payload size of the channel. The full encoded matter
28
- * message payload sent here can be as huge as allowed by the channel.
29
- */
30
- get maxPayloadSize(): number;
31
- send(message: Message, logContext?: ExchangeLogContext): Promise<void>;
32
- get name(): string;
33
- close(): Promise<void>;
34
- }
35
15
  /**
36
16
  * Interfaces {@link ExchangeManager} with other components.
37
17
  */
@@ -54,6 +34,7 @@ export declare class ExchangeManager {
54
34
  close(): Promise<void>;
55
35
  private onMessage;
56
36
  deleteExchange(exchangeIndex: number): Promise<void>;
37
+ calculateMaximumPeerResponseTimeMsFor(channel: MessageChannel, expectedProcessingTimeMs?: number): number;
57
38
  }
58
39
  export declare class ExchangeCounter {
59
40
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EACP,MAAM,EAEN,WAAW,EACX,aAAa,EAIb,WAAW,EAIX,qBAAqB,EAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAkB,OAAO,EAA6B,MAAM,0BAA0B,CAAC;AAI9F,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAA+B,MAAM,8BAA8B,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAEnG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAK/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO;IALtB,MAAM,UAAS;gBAIT,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAC5B,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,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;CAQd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,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;IA8KjB,cAAc,CAAC,aAAa,EAAE,MAAM;CA0I7C;AAED,qBAAa,eAAe;;gBAGZ,MAAM,EAAE,MAAM;IAI1B,qBAAqB;CAOxB"}
1
+ {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEH,MAAM,EAEN,WAAW,EACX,aAAa,EAIb,WAAW,EAIX,qBAAqB,EAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAK7D,OAAO,EAAE,cAAc,EAA+B,MAAM,4BAA4B,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAuC,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAEpH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAMvD,qBAAa,wBAAyB,SAAQ,WAAW;CAAG;AAE5D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,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;IA8KjB,cAAc,CAAC,aAAa,EAAE,MAAM;IAwF1C,qCAAqC,CACjC,OAAO,EAAE,cAAc,EACvB,wBAAwB,SAAsC;CA0DrE;AAED,qBAAa,eAAe;;gBAGZ,MAAM,EAAE,MAAM;IAI1B,qBAAqB;CAOxB"}
@@ -20,17 +20,16 @@ var ExchangeManager_exports = {};
20
20
  __export(ExchangeManager_exports, {
21
21
  ChannelNotConnectedError: () => ChannelNotConnectedError,
22
22
  ExchangeCounter: () => ExchangeCounter,
23
- ExchangeManager: () => ExchangeManager,
24
- MessageChannel: () => MessageChannel
23
+ ExchangeManager: () => ExchangeManager
25
24
  });
26
25
  module.exports = __toCommonJS(ExchangeManager_exports);
26
+ var import_MessageCodec = require("#codec/MessageCodec.js");
27
27
  var import_general = require("#general");
28
+ var import_SecureChannelMessenger = require("#securechannel/SecureChannelMessenger.js");
29
+ var import_SecureChannelProtocol = require("#securechannel/SecureChannelProtocol.js");
30
+ var import_NodeSession = require("#session/NodeSession.js");
31
+ var import_SessionManager = require("#session/SessionManager.js");
28
32
  var import_types = require("#types");
29
- var import_MessageCodec = require("../codec/MessageCodec.js");
30
- var import_SecureChannelMessenger = require("../securechannel/SecureChannelMessenger.js");
31
- var import_SecureChannelProtocol = require("../securechannel/SecureChannelProtocol.js");
32
- var import_NodeSession = require("../session/NodeSession.js");
33
- var import_SessionManager = require("../session/SessionManager.js");
34
33
  var import_ChannelManager = require("./ChannelManager.js");
35
34
  var import_MessageExchange = require("./MessageExchange.js");
36
35
  var import_MessageReceptionState = require("./MessageReceptionState.js");
@@ -43,54 +42,6 @@ const logger = import_general.Logger.get("ExchangeManager");
43
42
  const MAXIMUM_CONCURRENT_EXCHANGES_PER_SESSION = 5;
44
43
  class ChannelNotConnectedError extends import_general.MatterError {
45
44
  }
46
- class MessageChannel {
47
- constructor(channel, session, closeCallback) {
48
- this.channel = channel;
49
- this.session = session;
50
- this.#closeCallback = closeCallback;
51
- }
52
- closed = false;
53
- #closeCallback;
54
- set closeCallback(callback) {
55
- this.#closeCallback = callback;
56
- }
57
- /** Is the underlying transport reliable? */
58
- get isReliable() {
59
- return this.channel.isReliable;
60
- }
61
- get type() {
62
- return this.channel.type;
63
- }
64
- /**
65
- * Max Payload size of the exchange which bases on the maximum payload size of the channel. The full encoded matter
66
- * message payload sent here can be as huge as allowed by the channel.
67
- */
68
- get maxPayloadSize() {
69
- return this.channel.maxPayloadSize;
70
- }
71
- async send(message, logContext) {
72
- logger.debug("Message \xBB", import_MessageCodec.MessageCodec.messageDiagnostics(message, logContext));
73
- const packet = this.session.encode(message);
74
- const bytes = import_MessageCodec.MessageCodec.encodePacket(packet);
75
- if (bytes.length > this.maxPayloadSize) {
76
- logger.warn(
77
- `Matter message to send to ${this.name} is ${bytes.length}bytes long, which is larger than the maximum allowed size of ${this.maxPayloadSize}. This only works if both nodes support it.`
78
- );
79
- }
80
- return await this.channel.send(bytes);
81
- }
82
- get name() {
83
- return `${this.channel.name} on session ${this.session.name}`;
84
- }
85
- async close() {
86
- const wasAlreadyClosed = this.closed;
87
- this.closed = true;
88
- await this.channel.close();
89
- if (!wasAlreadyClosed) {
90
- await this.#closeCallback?.();
91
- }
92
- }
93
- }
94
45
  class ExchangeManager {
95
46
  #transportInterfaces;
96
47
  #sessionManager;
@@ -372,6 +323,12 @@ class ExchangeManager {
372
323
  logger.debug(`Closing oldest exchange ${exchangeToClose.id} for session ${sessionId}`);
373
324
  exchangeToClose.close().catch((error) => logger.error("Error closing exchange", error));
374
325
  }
326
+ calculateMaximumPeerResponseTimeMsFor(channel, expectedProcessingTimeMs = import_MessageExchange.DEFAULT_EXPECTED_PROCESSING_TIME_MS) {
327
+ return channel.calculateMaximumPeerResponseTimeMs(
328
+ this.#sessionManager.sessionParameters,
329
+ expectedProcessingTimeMs
330
+ );
331
+ }
375
332
  #messageExchangeContextFor(channel) {
376
333
  return {
377
334
  channel,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/ExchangeManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["exchange"]
6
6
  }
@@ -4,12 +4,13 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ChannelType, Observable } from "#general";
7
- import { PeerAddress } from "../peer/PeerAddress.js";
8
- import { ChannelManager } from "../protocol/ChannelManager.js";
9
- import { ExchangeManager, MessageChannel } from "../protocol/ExchangeManager.js";
10
- import { MessageExchange } from "../protocol/MessageExchange.js";
11
- import { ProtocolHandler } from "../protocol/ProtocolHandler.js";
12
- import { Session } from "../session/Session.js";
7
+ import { PeerAddress } from "#peer/PeerAddress.js";
8
+ import { ChannelManager } from "#protocol/ChannelManager.js";
9
+ import { ExchangeManager } from "#protocol/ExchangeManager.js";
10
+ import { MessageChannel } from "#protocol/MessageChannel.js";
11
+ import { MessageExchange } from "#protocol/MessageExchange.js";
12
+ import { ProtocolHandler } from "#protocol/ProtocolHandler.js";
13
+ import { Session } from "#session/Session.js";
13
14
  /**
14
15
  * Interface for obtaining an exchange with a specific peer.
15
16
  */
@@ -20,6 +21,7 @@ export declare abstract class ExchangeProvider {
20
21
  hasProtocolHandler(protocolId: number): boolean;
21
22
  getProtocolHandler(protocolId: number): ProtocolHandler | undefined;
22
23
  addProtocolHandler(handler: ProtocolHandler): void;
24
+ abstract maximumPeerResponseTimeMs(expectedProcessingTimeMs?: number): number;
23
25
  abstract initiateExchange(): Promise<MessageExchange>;
24
26
  abstract reconnectChannel(): Promise<boolean>;
25
27
  abstract session: Session;
@@ -36,6 +38,7 @@ export declare class DedicatedChannelExchangeProvider extends ExchangeProvider {
36
38
  reconnectChannel(): Promise<boolean>;
37
39
  get session(): Session;
38
40
  get channelType(): ChannelType;
41
+ maximumPeerResponseTimeMs(expectedProcessingTimeMs?: number): number;
39
42
  }
40
43
  /**
41
44
  * Manages peer exchange that will reestablish automatically in the case of communication failure.
@@ -50,5 +53,6 @@ export declare class ReconnectableExchangeProvider extends ExchangeProvider {
50
53
  reconnectChannel(): Promise<boolean>;
51
54
  get session(): Session;
52
55
  get channelType(): ChannelType;
56
+ maximumPeerResponseTimeMs(expectedProcessingTimeMs?: number): number;
53
57
  }
54
58
  //# sourceMappingURL=ExchangeProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeProvider.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAA4B,eAAe,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD;;GAEG;AACH,8BAAsB,gBAAgB;IAGtB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAF/D,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAEd,eAAe,EAAE,eAAe;IAE/D,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,OAAO,EAAE,eAAe;IAI3C,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IACrD,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,gBAAgB;;IAElE,QAAQ,CAAC,iBAAiB,SAAS;gBAEvB,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc;IAK/D,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAI5C,gBAAgB;IAItB,IAAI,OAAO,YAEV;IAED,IAAI,WAAW,gBAEd;CACJ;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;;IAQ3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc;IAPrD,QAAQ,CAAC,iBAAiB,QAAQ;gBAM9B,eAAe,EAAE,eAAe,EACb,cAAc,EAAE,cAAc,EACjD,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAY7C,IAAI,cAAc,6BAEjB;IAEK,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAU5C,gBAAgB;IAMtB,IAAI,OAAO,YAKV;IAED,IAAI,WAAW,gBAKd;CACJ"}
1
+ {"version":3,"file":"ExchangeProvider.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAA4B,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAuC,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C;;GAEG;AACH,8BAAsB,gBAAgB;IAGtB,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAF/D,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAEd,eAAe,EAAE,eAAe;IAE/D,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,UAAU,EAAE,MAAM;IAIrC,kBAAkB,CAAC,OAAO,EAAE,eAAe;IAI3C,QAAQ,CAAC,yBAAyB,CAAC,wBAAwB,CAAC,EAAE,MAAM,GAAG,MAAM;IAC7E,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IACrD,QAAQ,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,gBAAgB;;IAElE,QAAQ,CAAC,iBAAiB,SAAS;gBAEvB,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc;IAK/D,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAI5C,gBAAgB;IAItB,IAAI,OAAO,YAEV;IAED,IAAI,WAAW,gBAEd;IAED,yBAAyB,CAAC,wBAAwB,SAAsC;CAG3F;AAED;;GAEG;AACH,qBAAa,6BAA8B,SAAQ,gBAAgB;;IAQ3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc;IAPrD,QAAQ,CAAC,iBAAiB,QAAQ;gBAM9B,eAAe,EAAE,eAAe,EACb,cAAc,EAAE,cAAc,EACjD,OAAO,EAAE,WAAW,EACpB,oBAAoB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAY7C,IAAI,cAAc,6BAEjB;IAEK,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC;IAU5C,gBAAgB;IAMtB,IAAI,OAAO,YAKV;IAED,IAAI,WAAW,gBAKd;IAED,yBAAyB,CAAC,wBAAwB,SAAsC;CAO3F"}
@@ -24,8 +24,9 @@ __export(ExchangeProvider_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(ExchangeProvider_exports);
26
26
  var import_general = require("#general");
27
+ var import_ExchangeManager = require("#protocol/ExchangeManager.js");
28
+ var import_MessageExchange = require("#protocol/MessageExchange.js");
27
29
  var import_types = require("#types");
28
- var import_ExchangeManager = require("../protocol/ExchangeManager.js");
29
30
  /**
30
31
  * @license
31
32
  * Copyright 2022-2025 Matter.js Authors
@@ -64,6 +65,9 @@ class DedicatedChannelExchangeProvider extends ExchangeProvider {
64
65
  get channelType() {
65
66
  return this.#channel.type;
66
67
  }
68
+ maximumPeerResponseTimeMs(expectedProcessingTimeMs = import_MessageExchange.DEFAULT_EXPECTED_PROCESSING_TIME_MS) {
69
+ return this.exchangeManager.calculateMaximumPeerResponseTimeMsFor(this.#channel, expectedProcessingTimeMs);
70
+ }
67
71
  }
68
72
  class ReconnectableExchangeProvider extends ExchangeProvider {
69
73
  constructor(exchangeManager, channelManager, address, reconnectChannelFunc) {
@@ -110,5 +114,12 @@ class ReconnectableExchangeProvider extends ExchangeProvider {
110
114
  }
111
115
  return this.channelManager.getChannel(this.#address).type;
112
116
  }
117
+ maximumPeerResponseTimeMs(expectedProcessingTimeMs = import_MessageExchange.DEFAULT_EXPECTED_PROCESSING_TIME_MS) {
118
+ const channel = this.channelManager.getChannel(this.#address);
119
+ if (!channel) {
120
+ throw new import_ExchangeManager.ChannelNotConnectedError("Channel not connected");
121
+ }
122
+ return this.exchangeManager.calculateMaximumPeerResponseTimeMsFor(channel, expectedProcessingTimeMs);
123
+ }
113
124
  }
114
125
  //# sourceMappingURL=ExchangeProvider.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/ExchangeProvider.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qBAAwC;AACxC,mBAAwC;AAGxC,6BAA0E;AAT1E;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAe,iBAAiB;AAAA,EAGnC,YAA+B,iBAAkC;AAAlC;AAAA,EAAmC;AAAA,EAElE,mBAAmB,YAAoB;AACnC,WAAO,KAAK,gBAAgB,mBAAmB,UAAU;AAAA,EAC7D;AAAA,EAEA,mBAAmB,YAAoB;AACnC,WAAO,KAAK,gBAAgB,mBAAmB,UAAU;AAAA,EAC7D;AAAA,EAEA,mBAAmB,SAA0B;AACzC,SAAK,gBAAgB,mBAAmB,OAAO;AAAA,EACnD;AAMJ;AAKO,MAAM,yCAAyC,iBAAiB;AAAA,EACnE;AAAA,EACS,oBAAoB;AAAA,EAE7B,YAAY,iBAAkC,SAAyB;AACnE,UAAM,eAAe;AACrB,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAA6C;AAC/C,WAAO,KAAK,gBAAgB,4BAA4B,KAAK,UAAU,oCAAuB;AAAA,EAClG;AAAA,EAEA,MAAM,mBAAmB;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,SAAS;AAAA,EACzB;AACJ;AAKO,MAAM,sCAAsC,iBAAiB;AAAA,EAMhE,YACI,iBACmB,gBACnB,SACA,sBACF;AACE,UAAM,eAAe;AAJF;AAKnB,SAAK,WAAW;AAChB,SAAK,wBAAwB;AAC7B,mBAAe,MAAM,GAAG,CAAAA,aAAW;AAC/B,UAAIA,aAAY,KAAK,UAAU;AAC3B,aAAK,gBAAgB,KAAK;AAAA,MAC9B;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAnBS,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA,sBAAkB,2BAAmB;AAAA,EAkB9C,IAAI,iBAAiB;AACjB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,mBAA6C;AAC/C,QAAI,CAAC,KAAK,eAAe,WAAW,KAAK,QAAQ,GAAG;AAChD,YAAM,KAAK,iBAAiB;AAAA,IAChC;AACA,QAAI,CAAC,KAAK,eAAe,WAAW,KAAK,QAAQ,GAAG;AAChD,YAAM,IAAI,gDAAyB,uBAAuB;AAAA,IAC9D;AACA,WAAO,KAAK,gBAAgB,iBAAiB,KAAK,UAAU,oCAAuB;AAAA,EACvF;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI,KAAK,0BAA0B,OAAW,QAAO;AACrD,UAAM,KAAK,sBAAsB;AACjC,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,UAAU;AACV,QAAI,CAAC,KAAK,eAAe,WAAW,KAAK,QAAQ,GAAG;AAChD,YAAM,IAAI,gDAAyB,uBAAuB;AAAA,IAC9D;AACA,WAAO,KAAK,eAAe,WAAW,KAAK,QAAQ,EAAE;AAAA,EACzD;AAAA,EAEA,IAAI,cAAc;AACd,QAAI,CAAC,KAAK,eAAe,WAAW,KAAK,QAAQ,GAAG;AAChD,YAAM,IAAI,gDAAyB,uBAAuB;AAAA,IAC9D;AACA,WAAO,KAAK,eAAe,WAAW,KAAK,QAAQ,EAAE;AAAA,EACzD;AACJ;",
4
+ "mappings": "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",
5
5
  "names": ["address"]
6
6
  }
@@ -0,0 +1,52 @@
1
+ import { Message } from "#codec/index.js";
2
+ import { Channel } from "#general";
3
+ import { ExchangeLogContext } from "#protocol/MessageExchange.js";
4
+ import { Session, SessionParameters } from "#session/index.js";
5
+ export declare namespace MRP {
6
+ /**
7
+ * The maximum number of transmission attempts for a given reliable message. The sender MAY choose this value as it
8
+ * sees fit.
9
+ */
10
+ const MAX_TRANSMISSIONS = 5;
11
+ /** The base number for the exponential backoff equation. */
12
+ const BACKOFF_BASE = 1.6;
13
+ /** The scaler for random jitter in the backoff equation. */
14
+ const BACKOFF_JITTER = 0.25;
15
+ /** The scaler margin increase to backoff over the peer sleepy interval. */
16
+ const BACKOFF_MARGIN = 1.1;
17
+ /** The number of retransmissions before transitioning from linear to exponential backoff. */
18
+ const BACKOFF_THRESHOLD = 1;
19
+ /** @see {@link MatterSpecification.v12.Core}, section 4.11.8 */
20
+ const STANDALONE_ACK_TIMEOUT_MS = 200;
21
+ }
22
+ export declare class MessageChannel implements Channel<Message> {
23
+ #private;
24
+ readonly channel: Channel<Uint8Array>;
25
+ readonly session: Session;
26
+ closed: boolean;
27
+ constructor(channel: Channel<Uint8Array>, session: Session, closeCallback?: () => Promise<void>);
28
+ set closeCallback(callback: () => Promise<void>);
29
+ get usesMrp(): boolean;
30
+ /** Is the underlying transport reliable? */
31
+ get isReliable(): boolean;
32
+ get type(): import("#general").ChannelType;
33
+ /**
34
+ * Max Payload size of the exchange which bases on the maximum payload size of the channel. The full encoded matter
35
+ * message payload sent here can be as huge as allowed by the channel.
36
+ */
37
+ get maxPayloadSize(): number;
38
+ send(message: Message, logContext?: ExchangeLogContext): Promise<void>;
39
+ get name(): string;
40
+ close(): Promise<void>;
41
+ calculateMaximumPeerResponseTimeMs(sessionParameters: SessionParameters, expectedProcessingTimeMs?: number): number;
42
+ /**
43
+ * Calculates the backoff time for a resubmission based on the current retransmission count.
44
+ * If no session parameters are provided, the parameters of the current session are used.
45
+ * If session parameters are provided, the method can be used to calculate the maximum backoff time for the other
46
+ * side of the exchange.
47
+ *
48
+ * @see {@link MatterSpecification.v10.Core}, section 4.11.2.1
49
+ */
50
+ getMrpResubmissionBackOffTime(retransmissionCount: number, sessionParameters?: SessionParameters): number;
51
+ }
52
+ //# sourceMappingURL=MessageChannel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageChannel.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageChannel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgB,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,OAAO,EAA2B,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAuC,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAU/D,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,yBAAyB,MAAM,CAAC;CAChD;AAED,qBAAa,cAAe,YAAW,OAAO,CAAC,OAAO,CAAC;;IAM/C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO;IANtB,MAAM,UAAS;gBAKT,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAC5B,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,kCAAkC,CAC9B,iBAAiB,EAAE,iBAAiB,EACpC,wBAAwB,SAAsC;IAyBlE;;;;;;;OAOG;IACH,6BAA6B,CAAC,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;CA2BnG"}
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var MessageChannel_exports = {};
20
+ __export(MessageChannel_exports, {
21
+ MRP: () => MRP,
22
+ MessageChannel: () => MessageChannel
23
+ });
24
+ module.exports = __toCommonJS(MessageChannel_exports);
25
+ var import_codec = require("#codec/index.js");
26
+ var import_general = require("#general");
27
+ var import_MessageExchange = require("#protocol/MessageExchange.js");
28
+ const logger = new import_general.Logger("MessageChannel");
29
+ const PEER_RESPONSE_TIME_BUFFER_MS = 5e3;
30
+ var MRP;
31
+ ((MRP2) => {
32
+ MRP2.MAX_TRANSMISSIONS = 5;
33
+ MRP2.BACKOFF_BASE = 1.6;
34
+ MRP2.BACKOFF_JITTER = 0.25;
35
+ MRP2.BACKOFF_MARGIN = 1.1;
36
+ MRP2.BACKOFF_THRESHOLD = 1;
37
+ MRP2.STANDALONE_ACK_TIMEOUT_MS = 200;
38
+ })(MRP || (MRP = {}));
39
+ class MessageChannel {
40
+ // When the session is supporting MRP and the channel is not reliable, use MRP handling
41
+ constructor(channel, session, closeCallback) {
42
+ this.channel = channel;
43
+ this.session = session;
44
+ this.#closeCallback = closeCallback;
45
+ }
46
+ closed = false;
47
+ #closeCallback;
48
+ set closeCallback(callback) {
49
+ this.#closeCallback = callback;
50
+ }
51
+ get usesMrp() {
52
+ return this.session.supportsMRP && !this.channel.isReliable;
53
+ }
54
+ /** Is the underlying transport reliable? */
55
+ get isReliable() {
56
+ return this.channel.isReliable;
57
+ }
58
+ get type() {
59
+ return this.channel.type;
60
+ }
61
+ /**
62
+ * Max Payload size of the exchange which bases on the maximum payload size of the channel. The full encoded matter
63
+ * message payload sent here can be as huge as allowed by the channel.
64
+ */
65
+ get maxPayloadSize() {
66
+ return this.channel.maxPayloadSize;
67
+ }
68
+ async send(message, logContext) {
69
+ logger.debug("Message \xBB", import_codec.MessageCodec.messageDiagnostics(message, logContext));
70
+ const packet = this.session.encode(message);
71
+ const bytes = import_codec.MessageCodec.encodePacket(packet);
72
+ if (bytes.length > this.maxPayloadSize) {
73
+ logger.warn(
74
+ `Matter message to send to ${this.name} is ${bytes.length}bytes long, which is larger than the maximum allowed size of ${this.maxPayloadSize}. This only works if both nodes support it.`
75
+ );
76
+ }
77
+ return await this.channel.send(bytes);
78
+ }
79
+ get name() {
80
+ return `${this.channel.name} on session ${this.session.name}`;
81
+ }
82
+ async close() {
83
+ const wasAlreadyClosed = this.closed;
84
+ this.closed = true;
85
+ await this.channel.close();
86
+ if (!wasAlreadyClosed) {
87
+ await this.#closeCallback?.();
88
+ }
89
+ }
90
+ calculateMaximumPeerResponseTimeMs(sessionParameters, expectedProcessingTimeMs = import_MessageExchange.DEFAULT_EXPECTED_PROCESSING_TIME_MS) {
91
+ switch (this.channel.type) {
92
+ case "tcp":
93
+ return 3e4 + PEER_RESPONSE_TIME_BUFFER_MS;
94
+ case "udp":
95
+ if (!this.usesMrp) {
96
+ throw new import_general.MatterFlowError("No response expected for this message exchange because UDP and no MRP.");
97
+ }
98
+ return this.#calculateMrpMaximumPeerResponseTime(sessionParameters, expectedProcessingTimeMs) + PEER_RESPONSE_TIME_BUFFER_MS;
99
+ case "ble":
100
+ return 3e4 + PEER_RESPONSE_TIME_BUFFER_MS;
101
+ default:
102
+ throw new import_general.MatterFlowError(
103
+ `Can not calculate expected timeout for unknown channel type: ${this.channel.type}`
104
+ );
105
+ }
106
+ }
107
+ /**
108
+ * Calculates the backoff time for a resubmission based on the current retransmission count.
109
+ * If no session parameters are provided, the parameters of the current session are used.
110
+ * If session parameters are provided, the method can be used to calculate the maximum backoff time for the other
111
+ * side of the exchange.
112
+ *
113
+ * @see {@link MatterSpecification.v10.Core}, section 4.11.2.1
114
+ */
115
+ getMrpResubmissionBackOffTime(retransmissionCount, sessionParameters) {
116
+ const { activeIntervalMs, idleIntervalMs } = sessionParameters ?? this.session.parameters;
117
+ const baseInterval = sessionParameters !== void 0 || this.session.isPeerActive() ? activeIntervalMs : idleIntervalMs;
118
+ return Math.floor(
119
+ MRP.BACKOFF_MARGIN * baseInterval * Math.pow(MRP.BACKOFF_BASE, Math.max(0, retransmissionCount - MRP.BACKOFF_THRESHOLD)) * (1 + (sessionParameters !== void 0 ? 1 : Math.random()) * MRP.BACKOFF_JITTER)
120
+ );
121
+ }
122
+ #calculateMrpMaximumPeerResponseTime(sessionParameters, expectedProcessingTimeMs = import_MessageExchange.DEFAULT_EXPECTED_PROCESSING_TIME_MS) {
123
+ let finalWaitTime = expectedProcessingTimeMs;
124
+ for (let i = 0; i < MRP.MAX_TRANSMISSIONS; i++) {
125
+ finalWaitTime += this.getMrpResubmissionBackOffTime(i, sessionParameters);
126
+ }
127
+ return finalWaitTime;
128
+ }
129
+ }
130
+ //# sourceMappingURL=MessageChannel.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/protocol/MessageChannel.ts"],
4
+ "mappings": "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",
5
+ "names": ["MRP"]
6
+ }
@@ -3,11 +3,11 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Message } from "#codec/MessageCodec.js";
6
7
  import { AsyncObservable, MatterError, NoResponseTimeoutError } from "#general";
8
+ import { MessageChannel } from "#protocol/MessageChannel.js";
9
+ import { SessionParameters } from "#session/Session.js";
7
10
  import { NodeId } from "#types";
8
- import { Message } from "../codec/MessageCodec.js";
9
- import { SessionParameters } from "../session/Session.js";
10
- import { MessageChannel } from "./ExchangeManager.js";
11
11
  export declare class RetransmissionLimitReachedError extends NoResponseTimeoutError {
12
12
  }
13
13
  export declare class UnexpectedMessageError extends MatterError {
@@ -81,7 +81,7 @@ export declare class MessageExchange {
81
81
  get isClosing(): boolean;
82
82
  get id(): number;
83
83
  get channel(): MessageChannel;
84
- get session(): import("#session/index.js").Session;
84
+ get session(): import("#session/Session.js").Session;
85
85
  /**
86
86
  * Max Payload size of the exchange which bases on the maximum payload size of the channel reduced by Matter
87
87
  * protocol overhead.
@@ -94,7 +94,7 @@ export declare class MessageExchange {
94
94
  expectedProcessingTimeMs?: number;
95
95
  timeoutMs?: number;
96
96
  }): Promise<Message>;
97
- calculateMaximumPeerResponseTime(expectedProcessingTimeMs?: number): number;
97
+ calculateMaximumPeerResponseTimeMs(expectedProcessingTimeMs?: number): number;
98
98
  destroy(): Promise<void>;
99
99
  startTimedInteraction(timeoutMs: number): void;
100
100
  clearTimedInteraction(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageExchange.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageExchange.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,eAAe,EAMf,WAAW,EAEX,sBAAsB,EAIzB,MAAM,UAAU,CAAC;AAElB,OAAO,EAEH,MAAM,EAKT,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,OAAO,EAA2C,MAAM,0BAA0B,CAAC;AAE5F,OAAO,EAIH,iBAAiB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAIhF,qBAAa,+BAAgC,SAAQ,sBAAsB;CAAG;AAE9E,qBAAa,sBAAuB,SAAQ,WAAW;aAG/B,eAAe,EAAE,OAAO;gBADxC,OAAO,EAAE,MAAM,EACC,eAAe,EAAE,OAAO;CAI/C;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,gGAAgG;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,qFAAqF;IACrF,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,qGAAqG;IACrG,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAuBF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,OAAQ,CAAC;AAQzD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAyC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,cAAc,CAAC;IACxB,mBAAmB,IAAI,IAAI,CAAC;IAC5B,sBAAsB,EAAE,iBAAiB,CAAC;CAC7C;AAED,qBAAa,eAAe;;IAqEpB,QAAQ,CAAC,OAAO,EAAE,sBAAsB;IACxC,QAAQ,CAAC,WAAW,EAAE,OAAO;IAM7B,QAAQ,CAAC,qBAAqB,EAAE,OAAO;IA3E3C,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,OAAO;IAgBlF,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;gBAoD1E,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,OAAO,EAC7B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EACT,qBAAqB,EAAE,OAAO;IAwC3C,6GAA6G;IAC7G,IAAI,MAAM,8BAET;IAED;;;OAGG;IACH,IAAI,OAAO,8BAEV;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,EAAE,WAEL;IAED,IAAI,OAAO,mBAEV;IAED,IAAI,OAAO,wCAEV;IAED;;;OAGG;IACH,IAAI,cAAc,WAIjB;IAEK,2BAA2B,CAAC,OAAO,EAAE,OAAO;IAU5C,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,UAAQ;IAiFrD,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,mBAAmB;IA0HlF,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IA2D/E,gCAAgC,CAAC,wBAAwB,SAAsC;IAgFzF,OAAO;IAcb,qBAAqB,CAAC,SAAS,EAAE,MAAM;IAkBvC,qBAAqB;IAUrB,mBAAmB;IAInB,yBAAyB;IAIzB,0BAA0B;IAIpB,KAAK,CAAC,KAAK,UAAQ;CAiE5B"}
1
+ {"version":3,"file":"MessageExchange.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageExchange.ts"],"names":[],"mappings":"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"}