@matter/protocol 0.12.4-alpha.0-20250223-1e0341a1a → 0.12.4-alpha.0-20250224-46934b522

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 (245) hide show
  1. package/dist/cjs/action/client/ClientInteraction.d.ts +38 -0
  2. package/dist/cjs/action/client/ClientInteraction.d.ts.map +1 -0
  3. package/dist/cjs/action/client/ClientInteraction.js +91 -0
  4. package/dist/cjs/action/client/ClientInteraction.js.map +6 -0
  5. package/dist/cjs/action/client/index.d.ts +7 -0
  6. package/dist/cjs/action/client/index.d.ts.map +1 -0
  7. package/dist/cjs/action/client/index.js +24 -0
  8. package/dist/cjs/action/client/index.js.map +6 -0
  9. package/dist/cjs/action/index.d.ts +1 -0
  10. package/dist/cjs/action/index.d.ts.map +1 -1
  11. package/dist/cjs/action/index.js +1 -0
  12. package/dist/cjs/action/index.js.map +1 -1
  13. package/dist/cjs/interaction/DecodedDataReport.d.ts +15 -0
  14. package/dist/cjs/interaction/DecodedDataReport.d.ts.map +1 -0
  15. package/dist/cjs/interaction/DecodedDataReport.js +42 -0
  16. package/dist/cjs/interaction/DecodedDataReport.js.map +6 -0
  17. package/dist/cjs/interaction/InteractionClient.d.ts +17 -23
  18. package/dist/cjs/interaction/InteractionClient.d.ts.map +1 -1
  19. package/dist/cjs/interaction/InteractionClient.js +100 -127
  20. package/dist/cjs/interaction/InteractionClient.js.map +1 -1
  21. package/dist/cjs/interaction/InteractionMessenger.d.ts +94 -1
  22. package/dist/cjs/interaction/InteractionMessenger.d.ts.map +1 -1
  23. package/dist/cjs/interaction/InteractionMessenger.js +56 -37
  24. package/dist/cjs/interaction/InteractionMessenger.js.map +1 -1
  25. package/dist/cjs/interaction/InteractionServer.d.ts +22 -3
  26. package/dist/cjs/interaction/InteractionServer.d.ts.map +1 -1
  27. package/dist/cjs/interaction/InteractionServer.js +129 -45
  28. package/dist/cjs/interaction/InteractionServer.js.map +1 -1
  29. package/dist/cjs/interaction/ServerSubscription.d.ts +8 -16
  30. package/dist/cjs/interaction/ServerSubscription.d.ts.map +1 -1
  31. package/dist/cjs/interaction/ServerSubscription.js +78 -55
  32. package/dist/cjs/interaction/ServerSubscription.js.map +1 -1
  33. package/dist/cjs/interaction/Subscription.d.ts +7 -1
  34. package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
  35. package/dist/cjs/interaction/Subscription.js +25 -2
  36. package/dist/cjs/interaction/Subscription.js.map +1 -1
  37. package/dist/cjs/interaction/SubscriptionClient.d.ts +38 -0
  38. package/dist/cjs/interaction/SubscriptionClient.d.ts.map +1 -0
  39. package/dist/cjs/interaction/SubscriptionClient.js +98 -0
  40. package/dist/cjs/interaction/SubscriptionClient.js.map +6 -0
  41. package/dist/cjs/interaction/index.d.ts +1 -0
  42. package/dist/cjs/interaction/index.d.ts.map +1 -1
  43. package/dist/cjs/interaction/index.js +1 -0
  44. package/dist/cjs/interaction/index.js.map +1 -1
  45. package/dist/cjs/peer/ControllerCommissioner.d.ts +2 -2
  46. package/dist/cjs/peer/ControllerCommissioner.d.ts.map +1 -1
  47. package/dist/cjs/peer/ControllerCommissioner.js +7 -7
  48. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  49. package/dist/cjs/peer/InteractionQueue.d.ts +11 -0
  50. package/dist/cjs/peer/InteractionQueue.d.ts.map +1 -0
  51. package/dist/cjs/peer/InteractionQueue.js +42 -0
  52. package/dist/cjs/peer/InteractionQueue.js.map +6 -0
  53. package/dist/cjs/peer/PeerAddress.d.ts +5 -0
  54. package/dist/cjs/peer/PeerAddress.d.ts.map +1 -1
  55. package/dist/cjs/peer/PeerAddress.js +13 -1
  56. package/dist/cjs/peer/PeerAddress.js.map +1 -1
  57. package/dist/cjs/peer/PeerAddressStore.d.ts +1 -1
  58. package/dist/cjs/peer/PeerAddressStore.d.ts.map +1 -1
  59. package/dist/cjs/peer/PeerSet.d.ts +20 -7
  60. package/dist/cjs/peer/PeerSet.d.ts.map +1 -1
  61. package/dist/cjs/peer/PeerSet.js +74 -67
  62. package/dist/cjs/peer/PeerSet.js.map +1 -1
  63. package/dist/cjs/peer/PhysicalDeviceProperties.d.ts +26 -0
  64. package/dist/cjs/peer/PhysicalDeviceProperties.d.ts.map +1 -0
  65. package/dist/cjs/peer/PhysicalDeviceProperties.js +74 -0
  66. package/dist/cjs/peer/PhysicalDeviceProperties.js.map +6 -0
  67. package/dist/cjs/peer/index.d.ts +1 -0
  68. package/dist/cjs/peer/index.d.ts.map +1 -1
  69. package/dist/cjs/peer/index.js +1 -0
  70. package/dist/cjs/peer/index.js.map +1 -1
  71. package/dist/cjs/protocol/ExchangeManager.d.ts +1 -0
  72. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  73. package/dist/cjs/protocol/ExchangeManager.js +6 -3
  74. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  75. package/dist/cjs/protocol/ExchangeProvider.d.ts +13 -1
  76. package/dist/cjs/protocol/ExchangeProvider.d.ts.map +1 -1
  77. package/dist/cjs/protocol/ExchangeProvider.js +2 -0
  78. package/dist/cjs/protocol/ExchangeProvider.js.map +1 -1
  79. package/dist/cjs/protocol/ProtocolHandler.d.ts +1 -1
  80. package/dist/cjs/protocol/ProtocolHandler.d.ts.map +1 -1
  81. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts +1 -0
  82. package/dist/cjs/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  83. package/dist/cjs/securechannel/SecureChannelMessenger.js +3 -0
  84. package/dist/cjs/securechannel/SecureChannelMessenger.js.map +1 -1
  85. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts +1 -1
  86. package/dist/cjs/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  87. package/dist/cjs/securechannel/SecureChannelProtocol.js +1 -3
  88. package/dist/cjs/securechannel/SecureChannelProtocol.js.map +1 -1
  89. package/dist/cjs/session/SecureSession.d.ts +1 -1
  90. package/dist/cjs/session/SecureSession.d.ts.map +1 -1
  91. package/dist/cjs/session/SecureSession.js +3 -2
  92. package/dist/cjs/session/SecureSession.js.map +1 -1
  93. package/dist/cjs/session/Session.d.ts +1 -0
  94. package/dist/cjs/session/Session.d.ts.map +1 -1
  95. package/dist/cjs/session/Session.js +1 -0
  96. package/dist/cjs/session/Session.js.map +1 -1
  97. package/dist/cjs/session/SessionManager.d.ts +2 -2
  98. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  99. package/dist/cjs/session/SessionManager.js +6 -9
  100. package/dist/cjs/session/SessionManager.js.map +1 -1
  101. package/dist/cjs/session/case/CaseServer.d.ts +1 -1
  102. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
  103. package/dist/cjs/session/case/CaseServer.js +1 -3
  104. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  105. package/dist/cjs/session/pase/PaseServer.d.ts +2 -3
  106. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  107. package/dist/cjs/session/pase/PaseServer.js +12 -14
  108. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  109. package/dist/esm/action/client/ClientInteraction.d.ts +38 -0
  110. package/dist/esm/action/client/ClientInteraction.d.ts.map +1 -0
  111. package/dist/esm/action/client/ClientInteraction.js +71 -0
  112. package/dist/esm/action/client/ClientInteraction.js.map +6 -0
  113. package/dist/esm/action/client/index.d.ts +7 -0
  114. package/dist/esm/action/client/index.d.ts.map +1 -0
  115. package/dist/esm/action/client/index.js +7 -0
  116. package/dist/esm/action/client/index.js.map +6 -0
  117. package/dist/esm/action/index.d.ts +1 -0
  118. package/dist/esm/action/index.d.ts.map +1 -1
  119. package/dist/esm/action/index.js +1 -0
  120. package/dist/esm/action/index.js.map +1 -1
  121. package/dist/esm/interaction/DecodedDataReport.d.ts +15 -0
  122. package/dist/esm/interaction/DecodedDataReport.d.ts.map +1 -0
  123. package/dist/esm/interaction/DecodedDataReport.js +22 -0
  124. package/dist/esm/interaction/DecodedDataReport.js.map +6 -0
  125. package/dist/esm/interaction/InteractionClient.d.ts +17 -23
  126. package/dist/esm/interaction/InteractionClient.d.ts.map +1 -1
  127. package/dist/esm/interaction/InteractionClient.js +102 -134
  128. package/dist/esm/interaction/InteractionClient.js.map +1 -1
  129. package/dist/esm/interaction/InteractionMessenger.d.ts +94 -1
  130. package/dist/esm/interaction/InteractionMessenger.d.ts.map +1 -1
  131. package/dist/esm/interaction/InteractionMessenger.js +56 -37
  132. package/dist/esm/interaction/InteractionMessenger.js.map +1 -1
  133. package/dist/esm/interaction/InteractionServer.d.ts +22 -3
  134. package/dist/esm/interaction/InteractionServer.d.ts.map +1 -1
  135. package/dist/esm/interaction/InteractionServer.js +130 -46
  136. package/dist/esm/interaction/InteractionServer.js.map +1 -1
  137. package/dist/esm/interaction/ServerSubscription.d.ts +8 -16
  138. package/dist/esm/interaction/ServerSubscription.d.ts.map +1 -1
  139. package/dist/esm/interaction/ServerSubscription.js +78 -55
  140. package/dist/esm/interaction/ServerSubscription.js.map +1 -1
  141. package/dist/esm/interaction/Subscription.d.ts +7 -1
  142. package/dist/esm/interaction/Subscription.d.ts.map +1 -1
  143. package/dist/esm/interaction/Subscription.js +26 -3
  144. package/dist/esm/interaction/Subscription.js.map +1 -1
  145. package/dist/esm/interaction/SubscriptionClient.d.ts +38 -0
  146. package/dist/esm/interaction/SubscriptionClient.d.ts.map +1 -0
  147. package/dist/esm/interaction/SubscriptionClient.js +78 -0
  148. package/dist/esm/interaction/SubscriptionClient.js.map +6 -0
  149. package/dist/esm/interaction/index.d.ts +1 -0
  150. package/dist/esm/interaction/index.d.ts.map +1 -1
  151. package/dist/esm/interaction/index.js +1 -0
  152. package/dist/esm/interaction/index.js.map +1 -1
  153. package/dist/esm/peer/ControllerCommissioner.d.ts +2 -2
  154. package/dist/esm/peer/ControllerCommissioner.d.ts.map +1 -1
  155. package/dist/esm/peer/ControllerCommissioner.js +9 -9
  156. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  157. package/dist/esm/peer/InteractionQueue.d.ts +11 -0
  158. package/dist/esm/peer/InteractionQueue.d.ts.map +1 -0
  159. package/dist/esm/peer/InteractionQueue.js +22 -0
  160. package/dist/esm/peer/InteractionQueue.js.map +6 -0
  161. package/dist/esm/peer/PeerAddress.d.ts +5 -0
  162. package/dist/esm/peer/PeerAddress.d.ts.map +1 -1
  163. package/dist/esm/peer/PeerAddress.js +13 -1
  164. package/dist/esm/peer/PeerAddress.js.map +1 -1
  165. package/dist/esm/peer/PeerAddressStore.d.ts +1 -1
  166. package/dist/esm/peer/PeerAddressStore.d.ts.map +1 -1
  167. package/dist/esm/peer/PeerSet.d.ts +20 -7
  168. package/dist/esm/peer/PeerSet.d.ts.map +1 -1
  169. package/dist/esm/peer/PeerSet.js +75 -68
  170. package/dist/esm/peer/PeerSet.js.map +1 -1
  171. package/dist/esm/peer/PhysicalDeviceProperties.d.ts +26 -0
  172. package/dist/esm/peer/PhysicalDeviceProperties.d.ts.map +1 -0
  173. package/dist/esm/peer/PhysicalDeviceProperties.js +54 -0
  174. package/dist/esm/peer/PhysicalDeviceProperties.js.map +6 -0
  175. package/dist/esm/peer/index.d.ts +1 -0
  176. package/dist/esm/peer/index.d.ts.map +1 -1
  177. package/dist/esm/peer/index.js +1 -0
  178. package/dist/esm/peer/index.js.map +1 -1
  179. package/dist/esm/protocol/ExchangeManager.d.ts +1 -0
  180. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  181. package/dist/esm/protocol/ExchangeManager.js +6 -3
  182. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  183. package/dist/esm/protocol/ExchangeProvider.d.ts +13 -1
  184. package/dist/esm/protocol/ExchangeProvider.d.ts.map +1 -1
  185. package/dist/esm/protocol/ExchangeProvider.js +2 -0
  186. package/dist/esm/protocol/ExchangeProvider.js.map +1 -1
  187. package/dist/esm/protocol/ProtocolHandler.d.ts +1 -1
  188. package/dist/esm/protocol/ProtocolHandler.d.ts.map +1 -1
  189. package/dist/esm/securechannel/SecureChannelMessenger.d.ts +1 -0
  190. package/dist/esm/securechannel/SecureChannelMessenger.d.ts.map +1 -1
  191. package/dist/esm/securechannel/SecureChannelMessenger.js +3 -0
  192. package/dist/esm/securechannel/SecureChannelMessenger.js.map +1 -1
  193. package/dist/esm/securechannel/SecureChannelProtocol.d.ts +1 -1
  194. package/dist/esm/securechannel/SecureChannelProtocol.d.ts.map +1 -1
  195. package/dist/esm/securechannel/SecureChannelProtocol.js +1 -3
  196. package/dist/esm/securechannel/SecureChannelProtocol.js.map +1 -1
  197. package/dist/esm/session/SecureSession.d.ts +1 -1
  198. package/dist/esm/session/SecureSession.d.ts.map +1 -1
  199. package/dist/esm/session/SecureSession.js +3 -2
  200. package/dist/esm/session/SecureSession.js.map +1 -1
  201. package/dist/esm/session/Session.d.ts +1 -0
  202. package/dist/esm/session/Session.d.ts.map +1 -1
  203. package/dist/esm/session/Session.js +1 -0
  204. package/dist/esm/session/Session.js.map +1 -1
  205. package/dist/esm/session/SessionManager.d.ts +2 -2
  206. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  207. package/dist/esm/session/SessionManager.js +7 -10
  208. package/dist/esm/session/SessionManager.js.map +1 -1
  209. package/dist/esm/session/case/CaseServer.d.ts +1 -1
  210. package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
  211. package/dist/esm/session/case/CaseServer.js +1 -3
  212. package/dist/esm/session/case/CaseServer.js.map +1 -1
  213. package/dist/esm/session/pase/PaseServer.d.ts +2 -3
  214. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  215. package/dist/esm/session/pase/PaseServer.js +12 -14
  216. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  217. package/package.json +6 -6
  218. package/src/action/client/ClientInteraction.ts +110 -0
  219. package/src/action/client/index.ts +7 -0
  220. package/src/action/index.ts +1 -0
  221. package/src/interaction/DecodedDataReport.ts +29 -0
  222. package/src/interaction/InteractionClient.ts +118 -165
  223. package/src/interaction/InteractionMessenger.ts +63 -43
  224. package/src/interaction/InteractionServer.ts +176 -50
  225. package/src/interaction/ServerSubscription.ts +87 -63
  226. package/src/interaction/Subscription.ts +34 -6
  227. package/src/interaction/SubscriptionClient.ts +107 -0
  228. package/src/interaction/index.ts +1 -0
  229. package/src/peer/ControllerCommissioner.ts +10 -10
  230. package/src/peer/InteractionQueue.ts +22 -0
  231. package/src/peer/PeerAddress.ts +14 -0
  232. package/src/peer/PeerAddressStore.ts +1 -1
  233. package/src/peer/PeerSet.ts +98 -83
  234. package/src/peer/PhysicalDeviceProperties.ts +80 -0
  235. package/src/peer/index.ts +1 -0
  236. package/src/protocol/ExchangeManager.ts +7 -3
  237. package/src/protocol/ExchangeProvider.ts +14 -1
  238. package/src/protocol/ProtocolHandler.ts +1 -1
  239. package/src/securechannel/SecureChannelMessenger.ts +4 -0
  240. package/src/securechannel/SecureChannelProtocol.ts +1 -3
  241. package/src/session/SecureSession.ts +3 -2
  242. package/src/session/Session.ts +1 -0
  243. package/src/session/SessionManager.ts +6 -9
  244. package/src/session/case/CaseServer.ts +2 -4
  245. package/src/session/pase/PaseServer.ts +13 -15
@@ -6,6 +6,7 @@
6
6
  import { ScannerSet } from "#common/Scanner.js";
7
7
  import {
8
8
  anyPromise,
9
+ AsyncObservable,
9
10
  BasicSet,
10
11
  ChannelType,
11
12
  Construction,
@@ -18,11 +19,10 @@ import {
18
19
  MatterError,
19
20
  NetInterfaceSet,
20
21
  NoResponseTimeoutError,
21
- PromiseQueue,
22
22
  serverAddressToString,
23
23
  Time
24
24
  } from "#general";
25
- import { InteractionClient } from "#interaction/InteractionClient.js";
25
+ import { SubscriptionClient } from "#interaction/SubscriptionClient.js";
26
26
  import { PeerAddress, PeerAddressMap } from "#peer/PeerAddress.js";
27
27
  import { CaseClient } from "#session/index.js";
28
28
  import { SessionManager } from "#session/SessionManager.js";
@@ -32,12 +32,11 @@ import { ChannelNotConnectedError, ExchangeManager, MessageChannel } from "../pr
32
32
  import { ReconnectableExchangeProvider } from "../protocol/ExchangeProvider.js";
33
33
  import { RetransmissionLimitReachedError } from "../protocol/MessageExchange.js";
34
34
  import { ControllerDiscovery, DiscoveryError, PairRetransmissionLimitReachedError } from "./ControllerDiscovery.js";
35
+ import { InteractionQueue } from "./InteractionQueue.js";
35
36
  import { PeerAddressStore } from "./PeerAddressStore.js";
36
37
  const logger = Logger.get("PeerSet");
37
38
  const RECONNECTION_POLLING_INTERVAL_MS = 6e5;
38
39
  const RETRANSMISSION_DISCOVERY_TIMEOUT_S = 5;
39
- const CONCURRENT_QUEUED_INTERACTIONS = 4;
40
- const INTERACTION_QUEUE_DELAY_MS = 100;
41
40
  var NodeDiscoveryType = /* @__PURE__ */ ((NodeDiscoveryType2) => {
42
41
  NodeDiscoveryType2[NodeDiscoveryType2["None"] = 0] = "None";
43
42
  NodeDiscoveryType2[NodeDiscoveryType2["RetransmissionDiscovery"] = 1] = "RetransmissionDiscovery";
@@ -51,6 +50,7 @@ class PeerSet {
51
50
  #sessions;
52
51
  #channels;
53
52
  #exchanges;
53
+ #subscriptionClient;
54
54
  #scanners;
55
55
  #netInterfaces;
56
56
  #caseClient;
@@ -60,15 +60,16 @@ class PeerSet {
60
60
  #runningPeerReconnections = new PeerAddressMap();
61
61
  #construction;
62
62
  #store;
63
- #interactionQueue = new PromiseQueue(CONCURRENT_QUEUED_INTERACTIONS, INTERACTION_QUEUE_DELAY_MS);
63
+ #interactionQueue = new InteractionQueue();
64
64
  #nodeCachedData = new PeerAddressMap();
65
65
  // Temporarily until we store it in new API
66
- #clients = new PeerAddressMap();
66
+ #disconnected = AsyncObservable();
67
67
  constructor(context) {
68
- const { sessions, channels, exchanges, scanners, netInterfaces, store } = context;
68
+ const { sessions, channels, exchanges, subscriptionClient, scanners, netInterfaces, store } = context;
69
69
  this.#sessions = sessions;
70
70
  this.#channels = channels;
71
71
  this.#exchanges = exchanges;
72
+ this.#subscriptionClient = subscriptionClient;
72
73
  this.#scanners = scanners;
73
74
  this.#netInterfaces = netInterfaces;
74
75
  this.#store = store;
@@ -98,6 +99,9 @@ class PeerSet {
98
99
  get deleted() {
99
100
  return this.#peers.deleted;
100
101
  }
102
+ get disconnected() {
103
+ return this.#disconnected;
104
+ }
101
105
  has(item) {
102
106
  if ("address" in item) {
103
107
  return this.#peers.has(item);
@@ -127,6 +131,7 @@ class PeerSet {
127
131
  sessions: env.get(SessionManager),
128
132
  channels: env.get(ChannelManager),
129
133
  exchanges: env.get(ExchangeManager),
134
+ subscriptionClient: env.get(SubscriptionClient),
130
135
  scanners: env.get(ScannerSet),
131
136
  netInterfaces: env.get(NetInterfaceSet),
132
137
  store: env.get(PeerAddressStore)
@@ -137,14 +142,17 @@ class PeerSet {
137
142
  get peers() {
138
143
  return this.#peers;
139
144
  }
145
+ get subscriptionClient() {
146
+ return this.#subscriptionClient;
147
+ }
148
+ get interactionQueue() {
149
+ return this.#interactionQueue;
150
+ }
140
151
  /**
141
- * Connect to a node on a fabric.
152
+ * Ensure there is a channel to the designated peer.
142
153
  */
143
- async connect(address, discoveryOptions, allowUnknownPeer = false) {
144
- await this.#ensureConnection(address, discoveryOptions, allowUnknownPeer);
145
- return this.initializeInteractionClient(address, discoveryOptions);
146
- }
147
- async #ensureConnection(address, discoveryOptions, allowUnknownPeer = false) {
154
+ async ensureConnection(address, options) {
155
+ const { discoveryOptions, allowUnknownPeer, operationalAddress } = options;
148
156
  if (!this.#peersByAddress.has(address) && !allowUnknownPeer) {
149
157
  throw new UnknownNodeError(`Cannot connect to unknown device ${PeerAddress(address)}`);
150
158
  }
@@ -156,7 +164,7 @@ class PeerSet {
156
164
  }
157
165
  const { promise, resolver, rejecter } = createPromise();
158
166
  this.#runningPeerReconnections.set(address, { promise, rejecter });
159
- this.#resume(address, discoveryOptions).then((channel) => {
167
+ this.#resume(address, discoveryOptions, operationalAddress).then((channel) => {
160
168
  this.#runningPeerReconnections.delete(address);
161
169
  resolver(channel);
162
170
  }).catch((error) => {
@@ -166,52 +174,40 @@ class PeerSet {
166
174
  return promise;
167
175
  }
168
176
  }
169
- async initializeInteractionClient(address, discoveryOptions) {
170
- const existingClient = this.#clients.get(address);
171
- if (existingClient !== void 0) {
172
- return existingClient;
173
- }
174
- const nodeStore = this.get(address)?.dataStore;
175
- await nodeStore?.construction;
177
+ /**
178
+ * Obtain an exchange provider for the designated peer.
179
+ */
180
+ async exchangeProviderFor(address, discoveryOptions) {
176
181
  let initiallyConnected = this.#channels.hasChannel(address);
177
- const client = new InteractionClient(
178
- new ReconnectableExchangeProvider(this.#exchanges, this.#channels, address, async () => {
179
- if (!initiallyConnected && !this.#channels.hasChannel(address)) {
180
- await this.#ensureConnection(address, { discoveryType: 0 /* None */ });
181
- initiallyConnected = true;
182
- if (this.#channels.hasChannel(address)) {
183
- return;
184
- }
185
- }
186
- if (!this.#channels.hasChannel(address)) {
187
- throw new RetransmissionLimitReachedError(
188
- `Device ${PeerAddress(address)} is currently not reachable.`
189
- );
190
- }
191
- await this.#channels.removeAllNodeChannels(address);
192
- const { discoveryData } = discoveryOptions ?? {
193
- discoveryData: this.#peersByAddress.get(address)?.discoveryData
194
- };
195
- const operationalAddress = this.#knownOperationalAddressFor(address, true);
196
- if (operationalAddress === void 0) {
197
- logger.info(
198
- `Re-discovering device failed (no address found), remove all sessions for ${PeerAddress(address)}`
199
- );
200
- await this.#sessions.removeAllSessionsForNode(address);
201
- throw new RetransmissionLimitReachedError(
202
- `No operational address found for ${PeerAddress(address)}`
203
- );
204
- }
205
- if (await this.#reconnectKnownAddress(address, operationalAddress, discoveryData, 2e3) === void 0) {
206
- throw new RetransmissionLimitReachedError(`${PeerAddress(address)} is not reachable.`);
182
+ return new ReconnectableExchangeProvider(this.#exchanges, this.#channels, address, async () => {
183
+ if (!initiallyConnected && !this.#channels.hasChannel(address)) {
184
+ await this.ensureConnection(address, {
185
+ discoveryOptions: { discoveryType: 0 /* None */ }
186
+ });
187
+ initiallyConnected = true;
188
+ if (this.#channels.hasChannel(address)) {
189
+ return;
207
190
  }
208
- }),
209
- address,
210
- this.#interactionQueue,
211
- nodeStore
212
- );
213
- this.#clients.set(address, client);
214
- return client;
191
+ }
192
+ if (!this.#channels.hasChannel(address)) {
193
+ throw new RetransmissionLimitReachedError(`Device ${PeerAddress(address)} is currently not reachable.`);
194
+ }
195
+ await this.#channels.removeAllNodeChannels(address);
196
+ const { discoveryData } = discoveryOptions ?? {
197
+ discoveryData: this.#peersByAddress.get(address)?.discoveryData
198
+ };
199
+ const operationalAddress = this.#knownOperationalAddressFor(address, true);
200
+ if (operationalAddress === void 0) {
201
+ logger.info(
202
+ `Re-discovering device failed (no address found), remove all sessions for ${PeerAddress(address)}`
203
+ );
204
+ await this.#sessions.removeAllSessionsForNode(address);
205
+ throw new RetransmissionLimitReachedError(`No operational address found for ${PeerAddress(address)}`);
206
+ }
207
+ if (await this.#reconnectKnownAddress(address, operationalAddress, discoveryData, 2e3) === void 0) {
208
+ throw new RetransmissionLimitReachedError(`${PeerAddress(address)} is not reachable.`);
209
+ }
210
+ });
215
211
  }
216
212
  /**
217
213
  * Retrieve a peer by address.
@@ -225,10 +221,14 @@ class PeerSet {
225
221
  /**
226
222
  * Terminate any active peer connection.
227
223
  */
228
- async disconnect(address, sendSessionClose = true) {
229
- this.#clients.get(address)?.removeAllSubscriptions();
224
+ async disconnect(peer, sendSessionClose = true) {
225
+ const address = this.get(peer)?.address;
226
+ if (address === void 0) {
227
+ return;
228
+ }
230
229
  await this.#sessions.removeAllSessionsForNode(address, sendSessionClose);
231
230
  await this.#channels.removeAllNodeChannels(address);
231
+ await this.#disconnected.emit(address);
232
232
  }
233
233
  /**
234
234
  * Forget a known peer.
@@ -244,15 +244,15 @@ class PeerSet {
244
244
  await this.#store.deletePeer(address);
245
245
  await this.disconnect(address, false);
246
246
  await this.#sessions.deleteResumptionRecord(address);
247
- this.#clients.delete(address);
248
247
  }
249
248
  async close() {
250
249
  for (const [address, { stopTimerFunc, mdnsScanner }] of this.#runningPeerDiscoveries.entries()) {
251
250
  stopTimerFunc?.();
252
251
  mdnsScanner?.cancelOperationalDeviceDiscovery(this.#sessions.fabricFor(address), address.nodeId, false);
253
252
  }
254
- this.#clients.forEach((client) => client.close());
255
- this.#clients.clear();
253
+ for (const { address } of this.#peers) {
254
+ await this.disconnect(address, false);
255
+ }
256
256
  this.#interactionQueue.close();
257
257
  this.#runningPeerReconnections.forEach(
258
258
  ({ rejecter }) => rejecter(new ChannelNotConnectedError("PeerSet closed"))
@@ -265,13 +265,13 @@ class PeerSet {
265
265
  * device is discovered again using its operational instance details.
266
266
  * It returns the operational MessageChannel on success.
267
267
  */
268
- async #resume(address, discoveryOptions) {
268
+ async #resume(address, discoveryOptions, tryOperationalAddress) {
269
269
  const { discoveryType } = discoveryOptions ?? {};
270
- const operationalAddress = discoveryType === 0 /* None */ ? this.#getLastOperationalAddress(address) : this.#knownOperationalAddressFor(address);
270
+ const operationalAddress = tryOperationalAddress ?? (discoveryType === 0 /* None */ ? this.#getLastOperationalAddress(address) : this.#knownOperationalAddressFor(address));
271
271
  try {
272
272
  return await this.#connectOrDiscoverNode(address, operationalAddress, discoveryOptions);
273
273
  } catch (error) {
274
- if ((error instanceof DiscoveryError || error instanceof NoResponseTimeoutError) && this.#peersByAddress.has(address)) {
274
+ if ((error instanceof DiscoveryError || error instanceof NoResponseTimeoutError) && this.#peersByAddress.has(address) && tryOperationalAddress === void 0) {
275
275
  logger.info(`Resume failed, remove all sessions for ${PeerAddress(address)}`);
276
276
  await this.#sessions.removeAllSessionsForNode(address);
277
277
  }
@@ -305,7 +305,13 @@ class PeerSet {
305
305
  }
306
306
  const { type: runningDiscoveryType, promises } = existingDiscoveryDetails;
307
307
  if (operationalAddress !== void 0 && (runningDiscoveryType === 0 /* None */ || requestedDiscoveryType === 0 /* None */)) {
308
- const directReconnection = await this.#reconnectKnownAddress(address, operationalAddress, discoveryData);
308
+ const directReconnection = await this.#reconnectKnownAddress(
309
+ address,
310
+ operationalAddress,
311
+ discoveryData,
312
+ // When we use a timeout for discovery also use this for reconnecting to the node
313
+ timeoutSeconds ? timeoutSeconds * 1e3 : void 0
314
+ );
309
315
  if (directReconnection !== void 0) {
310
316
  return directReconnection;
311
317
  }
@@ -419,6 +425,7 @@ class PeerSet {
419
425
  async #reconnectKnownAddress(address, operationalAddress, discoveryData, expectedProcessingTimeMs) {
420
426
  address = PeerAddress(address);
421
427
  const { ip, port } = operationalAddress;
428
+ const startTime = Time.nowMs();
422
429
  try {
423
430
  logger.debug(
424
431
  `Resuming connection to ${PeerAddress(address)} at ${ip}:${port}${expectedProcessingTimeMs !== void 0 ? ` with expected processing time of ${expectedProcessingTimeMs}ms` : ""}`
@@ -432,7 +439,7 @@ class PeerSet {
432
439
  `Failed to resume connection to ${address} connection with ${ip}:${port}, discover the node:`,
433
440
  error
434
441
  );
435
- await this.#sessions.removeAllSessionsForNode(address);
442
+ await this.#sessions.removeAllSessionsForNode(address, false, startTime);
436
443
  return void 0;
437
444
  } else {
438
445
  throw error;
@@ -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
  }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export interface PhysicalDeviceProperties {
7
+ threadConnected: boolean;
8
+ wifiConnected: boolean;
9
+ ethernetConnected: boolean;
10
+ rootEndpointServerList: number[];
11
+ isBatteryPowered: boolean;
12
+ isIntermittentlyConnected: boolean;
13
+ isThreadSleepyEndDevice: boolean;
14
+ }
15
+ export declare namespace PhysicalDeviceProperties {
16
+ function determineSubscriptionParameters(options?: {
17
+ properties?: PhysicalDeviceProperties;
18
+ description?: string;
19
+ subscribeMinIntervalFloorSeconds?: number;
20
+ subscribeMaxIntervalCeilingSeconds?: number;
21
+ }): {
22
+ minIntervalFloorSeconds: number;
23
+ maxIntervalCeilingSeconds: number;
24
+ };
25
+ }
26
+ //# sourceMappingURL=PhysicalDeviceProperties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PhysicalDeviceProperties.d.ts","sourceRoot":"","sources":["../../../src/peer/PhysicalDeviceProperties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,OAAO,CAAC;IACnC,uBAAuB,EAAE,OAAO,CAAC;CACpC;AAED,yBAAiB,wBAAwB,CAAC;IACtC,SAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE;QACtD,UAAU,CAAC,EAAE,wBAAwB,CAAC;QACtC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,gCAAgC,CAAC,EAAE,MAAM,CAAC;QAC1C,kCAAkC,CAAC,EAAE,MAAM,CAAC;KAC/C;;;MA6CA;CACJ"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Logger } from "#general";
7
+ const logger = Logger.get("PhysicalDeviceProperties");
8
+ const DEFAULT_SUBSCRIPTION_FLOOR_DEFAULT_S = 1;
9
+ const DEFAULT_SUBSCRIPTION_FLOOR_ICD_S = 0;
10
+ const DEFAULT_SUBSCRIPTION_CEILING_WIFI_S = 60;
11
+ const DEFAULT_SUBSCRIPTION_CEILING_THREAD_S = 60;
12
+ const DEFAULT_SUBSCRIPTION_CEILING_THREAD_SLEEPY_S = 180;
13
+ const DEFAULT_SUBSCRIPTION_CEILING_BATTERY_POWERED_S = 600;
14
+ var PhysicalDeviceProperties;
15
+ ((PhysicalDeviceProperties2) => {
16
+ function determineSubscriptionParameters(options) {
17
+ const { properties } = options ?? {};
18
+ let {
19
+ description,
20
+ subscribeMinIntervalFloorSeconds: minIntervalFloorSeconds,
21
+ subscribeMaxIntervalCeilingSeconds: maxIntervalCeilingSeconds
22
+ } = options ?? {};
23
+ if (description === void 0) {
24
+ description = "Node";
25
+ }
26
+ const { isBatteryPowered, isIntermittentlyConnected, threadConnected, isThreadSleepyEndDevice } = properties ?? {};
27
+ if (isIntermittentlyConnected) {
28
+ if (minIntervalFloorSeconds !== void 0 && minIntervalFloorSeconds !== DEFAULT_SUBSCRIPTION_FLOOR_ICD_S) {
29
+ logger.info(
30
+ `${description}: Overwriting minIntervalFloorSeconds for intermittently connected device to ${DEFAULT_SUBSCRIPTION_FLOOR_ICD_S}`
31
+ );
32
+ minIntervalFloorSeconds = DEFAULT_SUBSCRIPTION_FLOOR_ICD_S;
33
+ }
34
+ }
35
+ const defaultCeiling = isBatteryPowered ? DEFAULT_SUBSCRIPTION_CEILING_BATTERY_POWERED_S : isThreadSleepyEndDevice ? DEFAULT_SUBSCRIPTION_CEILING_THREAD_SLEEPY_S : threadConnected ? DEFAULT_SUBSCRIPTION_CEILING_THREAD_S : DEFAULT_SUBSCRIPTION_CEILING_WIFI_S;
36
+ if (maxIntervalCeilingSeconds === void 0) {
37
+ maxIntervalCeilingSeconds = defaultCeiling;
38
+ }
39
+ if (maxIntervalCeilingSeconds < defaultCeiling) {
40
+ logger.debug(
41
+ `${description}: maxIntervalCeilingSeconds ideally is ${defaultCeiling}s instead of ${maxIntervalCeilingSeconds}s due to device type`
42
+ );
43
+ }
44
+ return {
45
+ minIntervalFloorSeconds: minIntervalFloorSeconds ?? DEFAULT_SUBSCRIPTION_FLOOR_DEFAULT_S,
46
+ maxIntervalCeilingSeconds
47
+ };
48
+ }
49
+ PhysicalDeviceProperties2.determineSubscriptionParameters = determineSubscriptionParameters;
50
+ })(PhysicalDeviceProperties || (PhysicalDeviceProperties = {}));
51
+ export {
52
+ PhysicalDeviceProperties
53
+ };
54
+ //# sourceMappingURL=PhysicalDeviceProperties.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/peer/PhysicalDeviceProperties.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc;AAEvB,MAAM,SAAS,OAAO,IAAI,0BAA0B;AAEpD,MAAM,uCAAuC;AAC7C,MAAM,mCAAmC;AACzC,MAAM,sCAAsC;AAC5C,MAAM,wCAAwC;AAC9C,MAAM,+CAA+C;AACrD,MAAM,iDAAiD;AAYhD,IAAU;AAAA,CAAV,CAAUA,8BAAV;AACI,WAAS,gCAAgC,SAK7C;AACC,UAAM,EAAE,WAAW,IAAI,WAAW,CAAC;AAEnC,QAAI;AAAA,MACA;AAAA,MACA,kCAAkC;AAAA,MAClC,oCAAoC;AAAA,IACxC,IAAI,WAAW,CAAC;AAEhB,QAAI,gBAAgB,QAAW;AAC3B,oBAAc;AAAA,IAClB;AAEA,UAAM,EAAE,kBAAkB,2BAA2B,iBAAiB,wBAAwB,IAC1F,cAAc,CAAC;AAEnB,QAAI,2BAA2B;AAC3B,UAAI,4BAA4B,UAAa,4BAA4B,kCAAkC;AACvG,eAAO;AAAA,UACH,GAAG,WAAW,gFAAgF,gCAAgC;AAAA,QAClI;AACA,kCAA0B;AAAA,MAC9B;AAAA,IACJ;AAEA,UAAM,iBAAiB,mBACjB,iDACA,0BACE,+CACA,kBACE,wCACA;AACV,QAAI,8BAA8B,QAAW;AACzC,kCAA4B;AAAA,IAChC;AACA,QAAI,4BAA4B,gBAAgB;AAC5C,aAAO;AAAA,QACH,GAAG,WAAW,0CAA0C,cAAc,gBAAgB,yBAAyB;AAAA,MACnH;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,yBAAyB,2BAA2B;AAAA,MACpD;AAAA,IACJ;AAAA,EACJ;AAlDO,EAAAA,0BAAS;AAAA,GADH;",
5
+ "names": ["PhysicalDeviceProperties"]
6
+ }
@@ -10,4 +10,5 @@ export * from "./OperationalPeer.js";
10
10
  export * from "./PeerAddress.js";
11
11
  export * from "./PeerAddressStore.js";
12
12
  export * from "./PeerSet.js";
13
+ export * from "./PhysicalDeviceProperties.js";
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/peer/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,+BAA+B,CAAC"}
@@ -10,4 +10,5 @@ export * from "./OperationalPeer.js";
10
10
  export * from "./PeerAddress.js";
11
11
  export * from "./PeerAddressStore.js";
12
12
  export * from "./PeerSet.js";
13
+ export * from "./PhysicalDeviceProperties.js";
13
14
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -44,6 +44,7 @@ export declare class ExchangeManager {
44
44
  #private;
45
45
  constructor(context: ExchangeManagerContext);
46
46
  static [Environmental.create](env: Environment): ExchangeManager;
47
+ get channels(): ChannelManager;
47
48
  hasProtocolHandler(protocolId: number): boolean;
48
49
  getProtocolHandler(protocolId: number): ProtocolHandler | undefined;
49
50
  addProtocolHandler(protocol: ProtocolHandler): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EAEP,WAAW,EACX,aAAa,EAIb,WAAW,EAKX,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAA6B,MAAM,0BAA0B,CAAC;AAG9E,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;IAMvC,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;IAED,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,IAAI,IAAI,WAEP;IAEK,KAAK;CAQd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,qBAAa,eAAe;;gBAYZ,OAAO,EAAE,sBAAsB;IAoB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAU9C,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;IA2HjB,cAAc,CAAC,aAAa,EAAE,MAAM;CA4I7C;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAA4B;IAEnD,qBAAqB;CAOxB"}
1
+ {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EAEP,WAAW,EACX,aAAa,EAIb,WAAW,EAKX,qBAAqB,EAExB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAA6B,MAAM,0BAA0B,CAAC;AAG9E,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;IAMvC,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;IAED,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAatE,IAAI,IAAI,WAEP;IAEK,KAAK;CAQd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,mBAAmB,EAAE,qBAAqB,CAAC;IAC3C,cAAc,EAAE,cAAc,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAClC;AAED,qBAAa,eAAe;;gBAYZ,OAAO,EAAE,sBAAsB;IAoB3C,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAU9C,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;IA2HjB,cAAc,CAAC,aAAa,EAAE,MAAM;CA4I7C;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAA4B;IAEnD,qBAAqB;CAOxB"}
@@ -111,6 +111,9 @@ class ExchangeManager {
111
111
  env.set(ExchangeManager, instance);
112
112
  return instance;
113
113
  }
114
+ get channels() {
115
+ return this.#channelManager;
116
+ }
114
117
  hasProtocolHandler(protocolId) {
115
118
  return this.#protocols.has(protocolId);
116
119
  }
@@ -118,10 +121,10 @@ class ExchangeManager {
118
121
  return this.#protocols.get(protocolId);
119
122
  }
120
123
  addProtocolHandler(protocol) {
121
- if (this.hasProtocolHandler(protocol.getId())) {
122
- throw new ImplementationError(`Handler for protocol ${protocol.getId()} already registered.`);
124
+ if (this.hasProtocolHandler(protocol.id)) {
125
+ throw new ImplementationError(`Handler for protocol ${protocol.id} already registered.`);
123
126
  }
124
- this.#protocols.set(protocol.getId(), protocol);
127
+ this.#protocols.set(protocol.id, protocol);
125
128
  }
126
129
  initiateExchange(address, protocolId) {
127
130
  return this.initiateExchangeWithChannel(this.#channelManager.getChannel(address), protocolId);
@@ -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
  }
@@ -10,9 +10,13 @@ import { ExchangeManager, MessageChannel } from "../protocol/ExchangeManager.js"
10
10
  import { MessageExchange } from "../protocol/MessageExchange.js";
11
11
  import { ProtocolHandler } from "../protocol/ProtocolHandler.js";
12
12
  import { Session } from "../session/Session.js";
13
+ /**
14
+ * Interface for obtaining an exchange with a specific peer.
15
+ */
13
16
  export declare abstract class ExchangeProvider {
14
17
  protected readonly exchangeManager: ExchangeManager;
15
- protected constructor(exchangeManager: ExchangeManager);
18
+ abstract readonly supportsReconnect: boolean;
19
+ constructor(exchangeManager: ExchangeManager);
16
20
  hasProtocolHandler(protocolId: number): boolean;
17
21
  getProtocolHandler(protocolId: number): ProtocolHandler | undefined;
18
22
  addProtocolHandler(handler: ProtocolHandler): void;
@@ -21,17 +25,25 @@ export declare abstract class ExchangeProvider {
21
25
  abstract session: Session;
22
26
  abstract channelType: ChannelType;
23
27
  }
28
+ /**
29
+ * Manages an exchange over an established channel.
30
+ */
24
31
  export declare class DedicatedChannelExchangeProvider extends ExchangeProvider {
25
32
  #private;
33
+ readonly supportsReconnect = false;
26
34
  constructor(exchangeManager: ExchangeManager, channel: MessageChannel);
27
35
  initiateExchange(): Promise<MessageExchange>;
28
36
  reconnectChannel(): Promise<boolean>;
29
37
  get session(): Session;
30
38
  get channelType(): ChannelType;
31
39
  }
40
+ /**
41
+ * Manages peer exchange that will reestablish automatically in the case of communication failure.
42
+ */
32
43
  export declare class ReconnectableExchangeProvider extends ExchangeProvider {
33
44
  #private;
34
45
  protected readonly channelManager: ChannelManager;
46
+ readonly supportsReconnect = true;
35
47
  constructor(exchangeManager: ExchangeManager, channelManager: ChannelManager, address: PeerAddress, reconnectChannelFunc: () => Promise<void>);
36
48
  get channelUpdated(): Observable<[void], void>;
37
49
  initiateExchange(): Promise<MessageExchange>;
@@ -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,8BAAsB,gBAAgB;IACZ,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,eAAe;IAAzE,SAAS,aAAgC,eAAe,EAAE,eAAe;IAEzE,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,qBAAa,gCAAiC,SAAQ,gBAAgB;;gBAGtD,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,qBAAa,6BAA8B,SAAQ,gBAAgB;;IAO3D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc;gBADjD,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;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"}
@@ -22,6 +22,7 @@ class ExchangeProvider {
22
22
  }
23
23
  class DedicatedChannelExchangeProvider extends ExchangeProvider {
24
24
  #channel;
25
+ supportsReconnect = false;
25
26
  constructor(exchangeManager, channel) {
26
27
  super(exchangeManager);
27
28
  this.#channel = channel;
@@ -51,6 +52,7 @@ class ReconnectableExchangeProvider extends ExchangeProvider {
51
52
  }
52
53
  });
53
54
  }
55
+ supportsReconnect = true;
54
56
  #address;
55
57
  #reconnectChannelFunc;
56
58
  #channelUpdated = Observable();