@matter/protocol 0.17.7 → 0.17.8-alpha.0-20260801-92169d0aa

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 (61) hide show
  1. package/dist/cjs/interaction/Subscription.d.ts +8 -2
  2. package/dist/cjs/interaction/Subscription.d.ts.map +1 -1
  3. package/dist/cjs/interaction/Subscription.js.map +1 -1
  4. package/dist/cjs/peer/RebootResubscribeArmer.js +1 -1
  5. package/dist/cjs/peer/RebootResubscribeArmer.js.map +1 -1
  6. package/dist/cjs/protocol/DeviceAdvertiser.js +2 -2
  7. package/dist/cjs/protocol/DeviceAdvertiser.js.map +1 -1
  8. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  9. package/dist/cjs/protocol/ExchangeManager.js +5 -1
  10. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  11. package/dist/cjs/protocol/MessageExchange.d.ts +4 -2
  12. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  13. package/dist/cjs/protocol/MessageExchange.js +13 -3
  14. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  15. package/dist/cjs/session/NodeSession.d.ts +1 -1
  16. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  17. package/dist/cjs/session/NodeSession.js +27 -7
  18. package/dist/cjs/session/NodeSession.js.map +1 -1
  19. package/dist/cjs/session/Session.d.ts +1 -1
  20. package/dist/cjs/session/Session.d.ts.map +1 -1
  21. package/dist/cjs/session/Session.js +2 -2
  22. package/dist/cjs/session/Session.js.map +1 -1
  23. package/dist/cjs/session/SessionManager.d.ts +7 -2
  24. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  25. package/dist/cjs/session/SessionManager.js +54 -9
  26. package/dist/cjs/session/SessionManager.js.map +1 -1
  27. package/dist/esm/interaction/Subscription.d.ts +8 -2
  28. package/dist/esm/interaction/Subscription.d.ts.map +1 -1
  29. package/dist/esm/interaction/Subscription.js.map +1 -1
  30. package/dist/esm/peer/RebootResubscribeArmer.js +1 -1
  31. package/dist/esm/peer/RebootResubscribeArmer.js.map +1 -1
  32. package/dist/esm/protocol/DeviceAdvertiser.js +2 -2
  33. package/dist/esm/protocol/DeviceAdvertiser.js.map +1 -1
  34. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  35. package/dist/esm/protocol/ExchangeManager.js +5 -1
  36. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  37. package/dist/esm/protocol/MessageExchange.d.ts +4 -2
  38. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  39. package/dist/esm/protocol/MessageExchange.js +13 -3
  40. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  41. package/dist/esm/session/NodeSession.d.ts +1 -1
  42. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  43. package/dist/esm/session/NodeSession.js +31 -8
  44. package/dist/esm/session/NodeSession.js.map +1 -1
  45. package/dist/esm/session/Session.d.ts +1 -1
  46. package/dist/esm/session/Session.d.ts.map +1 -1
  47. package/dist/esm/session/Session.js +2 -2
  48. package/dist/esm/session/Session.js.map +1 -1
  49. package/dist/esm/session/SessionManager.d.ts +7 -2
  50. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  51. package/dist/esm/session/SessionManager.js +54 -9
  52. package/dist/esm/session/SessionManager.js.map +1 -1
  53. package/package.json +5 -5
  54. package/src/interaction/Subscription.ts +10 -2
  55. package/src/peer/RebootResubscribeArmer.ts +1 -1
  56. package/src/protocol/DeviceAdvertiser.ts +2 -2
  57. package/src/protocol/ExchangeManager.ts +5 -1
  58. package/src/protocol/MessageExchange.ts +18 -15
  59. package/src/session/NodeSession.ts +33 -9
  60. package/src/session/Session.ts +2 -2
  61. package/src/session/SessionManager.ts +77 -11
@@ -7,6 +7,7 @@ import type { DecodedPacket } from "#codec/MessageCodec.js";
7
7
  import { FabricManager } from "#fabric/FabricManager.js";
8
8
  import type { Subscription } from "#interaction/Subscription.js";
9
9
  import { PeerAddress } from "#peer/PeerAddress.js";
10
+ import { PeerLossContext } from "#peer/PeerLossContext.js";
10
11
  import { GroupSession } from "#session/GroupSession.js";
11
12
  import { BasicSet, Bytes, Channel, ClosedError, Construction, Crypto, Duration, Environment, Environmental, Observable, StorageContext, Timestamp, Transport } from "@matter/general";
12
13
  import { CaseAuthenticatedTag, ClusterId, EndpointNumber, FabricId, FabricIndex, GroupId, NodeId } from "@matter/types";
@@ -75,8 +76,12 @@ export interface SessionManagerContext {
75
76
  */
76
77
  owner?: unknown;
77
78
  }
79
+ /** Thrown into a session closed because its peer exceeded {@link MAX_SESSIONS_PER_PEER}. */
80
+ export declare class SessionEvictedError extends ClosedError {
81
+ constructor(message?: string, options?: ErrorOptions);
82
+ }
78
83
  /**
79
- * Thrown when communication terminates due node shutdown.
84
+ * Thrown when communication terminates due to node shutdown.
80
85
  */
81
86
  export declare class ShutdownError extends ClosedError {
82
87
  constructor(message?: string, options?: ErrorOptions);
@@ -183,7 +188,7 @@ export declare class SessionManager {
183
188
  /**
184
189
  * Removes all Peer sessions and closes subscriptions.
185
190
  */
186
- handlePeerLoss(address: PeerAddress, cause: Error, asOf?: Timestamp): Promise<void>;
191
+ handlePeerLoss(address: PeerAddress, context: PeerLossContext): Promise<void>;
187
192
  getUnsecuredSession(sourceNodeId?: NodeId): UnsecuredSession | undefined;
188
193
  /**
189
194
  * Obtain an outbound group session for a specific group.
@@ -1 +1 @@
1
- {"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/session/SessionManager.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var SessionManager_exports = {};
20
20
  __export(SessionManager_exports, {
21
+ SessionEvictedError: () => SessionEvictedError,
21
22
  SessionManager: () => SessionManager,
22
23
  ShutdownError: () => ShutdownError
23
24
  });
@@ -51,8 +52,14 @@ function assertActiveThreshold(activeThreshold) {
51
52
  }
52
53
  }
53
54
  const ID_SPACE_UPPER_BOUND = 65535;
55
+ const MAX_SESSIONS_PER_PEER = 5;
54
56
  const GROUP_DATA_COUNTER_KEY = "groupDataCounter";
55
57
  const GROUP_DATA_COUNTER_RESERVE = 1e3;
58
+ class SessionEvictedError extends import_general.ClosedError {
59
+ constructor(message = "Session evicted; peer holds too many sessions", options) {
60
+ super(message, options);
61
+ }
62
+ }
56
63
  class ShutdownError extends import_general.ClosedError {
57
64
  constructor(message = "Local node shutdown", options) {
58
65
  super(message, options);
@@ -81,6 +88,7 @@ class SessionManager {
81
88
  #construction;
82
89
  #observers = new import_general.ObserverGroup();
83
90
  #subscriptionUpdateMutex = new import_general.Mutex(this);
91
+ #sessionEvictionMutex = new import_general.Mutex(this);
84
92
  #idUpperBound = ID_SPACE_UPPER_BOUND;
85
93
  #subscriptionsChanged = (0, import_general.Observable)();
86
94
  #retry = (0, import_general.Observable)();
@@ -97,6 +105,11 @@ class SessionManager {
97
105
  this.#observers.on(context.fabrics.events.deleting, async (fabric) => {
98
106
  await this.deleteResumptionRecordsForFabric(fabric);
99
107
  });
108
+ this.#sessions.added.on((session) => {
109
+ if (!session.isInitiator) {
110
+ this.#sessionEvictionMutex.run(() => this.#evictExcessSessionsFor(session));
111
+ }
112
+ });
100
113
  this.#sessions.added.on((session) => {
101
114
  const subscriptionsChanged = (subscription) => {
102
115
  if (session.isClosing) {
@@ -280,18 +293,23 @@ class SessionManager {
280
293
  }
281
294
  return deletedCount > 0;
282
295
  }
283
- findOldestInactiveSession() {
284
- this.#construction.assert();
285
- let oldestSession = void 0;
296
+ /** The session with the least recent traffic among those {@link filter} accepts, if any. */
297
+ #leastRecentlyUsedSession(filter) {
298
+ let oldest;
286
299
  for (const session of this.#sessions) {
287
- if (!oldestSession || session.timestamp < oldestSession.timestamp) {
288
- oldestSession = session;
300
+ if (filter(session) && (oldest === void 0 || session.timestamp < oldest.timestamp)) {
301
+ oldest = session;
289
302
  }
290
303
  }
291
- if (oldestSession === void 0) {
304
+ return oldest;
305
+ }
306
+ findOldestInactiveSession() {
307
+ this.#construction.assert();
308
+ const oldest = this.#leastRecentlyUsedSession(() => true);
309
+ if (oldest === void 0) {
292
310
  throw new import_general.MatterFlowError("No session found to close and all session ids are taken.");
293
311
  }
294
- return oldestSession;
312
+ return oldest;
295
313
  }
296
314
  async getNextAvailableSessionId() {
297
315
  await this.#construction;
@@ -366,8 +384,34 @@ class SessionManager {
366
384
  /**
367
385
  * Removes all Peer sessions and closes subscriptions.
368
386
  */
369
- async handlePeerLoss(address, cause, asOf) {
370
- return await this.#handlePeerLoss({ address, asOf: asOf ?? import_general.Time.nowMs, cause });
387
+ async handlePeerLoss(address, context) {
388
+ return await this.#handlePeerLoss({ ...context, address, asOf: context.asOf ?? import_general.Time.nowMs });
389
+ }
390
+ /**
391
+ * Close the peer's least recently active sessions once it exceeds {@link MAX_SESSIONS_PER_PEER}.
392
+ *
393
+ * Only sessions the peer established are eligible: ones we initiated are ours to manage, and the peer loss our
394
+ * own traffic reports already sweeps them. {@link added} is excluded so a burst of new sessions cannot evict the
395
+ * one that prompted the check.
396
+ */
397
+ async #evictExcessSessionsFor(added) {
398
+ if (added.isPase || added.isClosing) {
399
+ return;
400
+ }
401
+ const address = added.peerAddress;
402
+ const claimsSlot = (session) => session !== added && !session.isInitiator && session.peerIs(address);
403
+ let excess = this.#sessions.filter(claimsSlot).length + 1 - MAX_SESSIONS_PER_PEER;
404
+ while (excess-- > 0) {
405
+ const session = this.#leastRecentlyUsedSession((s) => claimsSlot(s) && !s.isClosing);
406
+ if (session === void 0) {
407
+ return;
408
+ }
409
+ logger.info(
410
+ session.via,
411
+ `Closing least recently used session; ${(0, import_PeerAddress.PeerAddress)(address)} exceeds ${MAX_SESSIONS_PER_PEER} sessions`
412
+ );
413
+ await session.initiateForceClose({ cause: new SessionEvictedError() });
414
+ }
371
415
  }
372
416
  async #handlePeerLoss(context) {
373
417
  await this.#construction;
@@ -669,6 +713,7 @@ class SessionManager {
669
713
  await this.#construction;
670
714
  }
671
715
  await this.#subscriptionUpdateMutex;
716
+ await this.#sessionEvictionMutex;
672
717
  const context = { cause: new ShutdownError("Session closed by node shutdown") };
673
718
  const closePromises = this.#sessions.map(async (session) => {
674
719
  await session.closeSubscriptions(true);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/session/SessionManager.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["record"]
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import type { MessageExchange } from "#protocol/MessageExchange.js";
6
7
  import { Session } from "#session/Session.js";
7
8
  export type SubscriptionId = number;
8
9
  /**
@@ -10,9 +11,14 @@ export type SubscriptionId = number;
10
11
  */
11
12
  export interface Subscription {
12
13
  subscriptionId: SubscriptionId;
13
- isCanceledByPeer: boolean;
14
+ /**
15
+ * Whether the subscription ended for good and the peer must establish a new one. False for one torn down with
16
+ * its session, which may still be re-established.
17
+ */
18
+ isTerminated: boolean;
14
19
  handlePeerCancel(): Promise<void>;
15
- close(flushViaSession?: Session): Promise<void>;
20
+ /** @param currentExchange the exchange whose send triggered this close; a subscription sending on it must not wait for itself */
21
+ close(flushViaSession?: Session, currentExchange?: MessageExchange): Promise<void>;
16
22
  }
17
23
  export declare namespace Subscription {
18
24
  function idStrOf(subscription: undefined | number | {
@@ -1 +1 @@
1
- {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/interaction/Subscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,cAAc,EAAE,cAAc,CAAC;IAG/B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,yBAAiB,YAAY,CAAC,CAAC;IAC3B,SAAgB,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,sBAUrF;IAED,SAAgB,YAAY,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;QAEnF,MAAM;MAEb;CACJ"}
1
+ {"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../src/interaction/Subscription.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,cAAc,EAAE,cAAc,CAAC;IAG/B;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC,iIAAiI;IACjI,KAAK,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtF;AAED,yBAAiB,YAAY,CAAC,CAAC;IAC3B,SAAgB,OAAO,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,sBAUrF;IAED,SAAgB,YAAY,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,GAAG;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE;QAEnF,MAAM;MAEb;CACJ"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/interaction/Subscription.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,WAAW;AAgBb,IAAU;AAAA,CAAV,CAAUA,kBAAV;AACI,WAAS,QAAQ,cAAgE;AACpF,QAAI,OAAO,iBAAiB,UAAU;AAClC,qBAAe,aAAa;AAAA,IAChC;AAEA,QAAI,iBAAiB,QAAW;AAC5B,aAAO;AAAA,IACX;AAEA,WAAO,IAAI,MAAM,cAAc,CAAC;AAAA,EACpC;AAVO,EAAAA,cAAS;AAYT,WAAS,aAAa,cAAgE;AACzF,WAAO;AAAA,MACH,QAAQ,QAAQ,YAAY;AAAA,IAChC;AAAA,EACJ;AAJO,EAAAA,cAAS;AAAA,GAbH;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,WAAW;AAuBb,IAAU;AAAA,CAAV,CAAUA,kBAAV;AACI,WAAS,QAAQ,cAAgE;AACpF,QAAI,OAAO,iBAAiB,UAAU;AAClC,qBAAe,aAAa;AAAA,IAChC;AAEA,QAAI,iBAAiB,QAAW;AAC5B,aAAO;AAAA,IACX;AAEA,WAAO,IAAI,MAAM,cAAc,CAAC;AAAA,EACpC;AAVO,EAAAA,cAAS;AAYT,WAAS,aAAa,cAAgE;AACzF,WAAO;AAAA,MACH,QAAQ,QAAQ,YAAY;AAAA,IAChC;AAAA,EACJ;AAJO,EAAAA,cAAS;AAAA,GAbH;",
5
5
  "names": ["Subscription"]
6
6
  }
@@ -103,7 +103,7 @@ class RebootResubscribeArmer {
103
103
  */
104
104
  async #recoverSilentPeer(peerAddress) {
105
105
  try {
106
- await this.#sessions.handlePeerLoss(peerAddress, new PeerUnresponsiveError());
106
+ await this.#sessions.handlePeerLoss(peerAddress, { cause: new PeerUnresponsiveError() });
107
107
  } catch (error) {
108
108
  logger.warn(peerAddress, "Failed to close sessions during apply-timeout recovery", error);
109
109
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/peer/RebootResubscribeArmer.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,aAAa,sBAAsB;AAC5C,SAAS,6BAA6B;AAGtC,SAAS,QAAQ,SAAS,eAAe,SAAS,YAA8B;AAEhF,MAAM,SAAS,OAAO,IAAI,wBAAwB;AAGlD,MAAM,mCAAmC,QAAQ,EAAE;AAQnD,MAAM,0BAA0B,QAAQ,CAAC;AAgBlC,MAAM,uBAAuB;AAAA,EACvB;AAAA,EACA;AAAA,EACA,SAAS,IAAI,eAAyB;AAAA,EACtC,aAAa,IAAI,cAAc;AAAA,EAExC,YAAY,UAA0B,eAAoC;AACtE,SAAK,YAAY;AACjB,SAAK,iBAAiB;AACtB,SAAK,WAAW,GAAG,SAAS,SAAS,OAAO,aAAW,KAAK,gBAAgB,OAAO,CAAC;AAAA,EACxF;AAAA,EAEA,IAAI,aAA0B;AAC1B,kBAAc,YAAY,WAAW;AAErC,QAAI,QAAQ,KAAK,OAAO,IAAI,WAAW;AACvC,QAAI,UAAU,QAAW;AACrB,cAAQ,CAAC;AACT,WAAK,OAAO,IAAI,aAAa,KAAK;AAAA,IACtC,OAAO;AAEH,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa;AACnB,YAAM,eAAe;AACrB,YAAM,aAAa,KAAK;AAAA,IAC5B;AAEA,UAAM,cAAc,KAAK;AAAA,MAAS;AAAA,MAA0B;AAAA,MAAyB,MACjF,KAAK,iBAAiB,WAAW;AAAA,IACrC;AACA,UAAM,YAAY,MAAM;AAAA,EAC5B;AAAA,EAEA,OAAO,aAA0B;AAC7B,kBAAc,YAAY,WAAW;AACrC,UAAM,QAAQ,KAAK,OAAO,IAAI,WAAW;AACzC,QAAI,UAAU,QAAW;AACrB;AAAA,IACJ;AACA,UAAM,YAAY,KAAK;AACvB,UAAM,aAAa,KAAK;AACxB,SAAK,OAAO,OAAO,WAAW;AAAA,EAClC;AAAA,EAEA,gBAAgB,SAAsB;AAClC,QAAI,QAAQ,aAAa;AAGrB;AAAA,IACJ;AAEA,UAAM,cAAc,YAAY,QAAQ,WAAW;AACnD,UAAM,QAAQ,KAAK,OAAO,IAAI,WAAW;AACzC,QAAI,UAAU,QAAW;AACrB;AAAA,IACJ;AAGA,UAAM,aAAa,KAAK;AACxB,UAAM,cAAc;AAGpB,SAAK,UACA,mBAAmB,aAAa,QAAQ,SAAS,EACjD,MAAM,WAAS,OAAO,KAAK,aAAa,kCAAkC,KAAK,CAAC;AAErF,UAAM,eAAe,QAAQ;AAC7B,UAAM,YAAY,KAAK;AACvB,UAAM,aAAa,KAAK;AAAA,MAAS;AAAA,MAA4B;AAAA,MAAkC,MAC3F,KAAK,gBAAgB,WAAW;AAAA,IACpC;AACA,UAAM,WAAW,MAAM;AAAA,EAC3B;AAAA,EAEA,gBAAgB,aAA0B;AACtC,UAAM,QAAQ,KAAK,OAAO,IAAI,WAAW;AACzC,QAAI,UAAU,QAAW;AACrB;AAAA,IACJ;AAEA,UAAM,sBAAsB,KAAK,eAAe,uBAAuB,WAAW;AAClF,UAAM,iBACF,wBAAwB,UACxB,MAAM,iBAAiB,UACvB,uBAAuB,MAAM;AAEjC,QAAI,CAAC,gBAAgB;AACjB,WAAK,eAAe,aAAa,WAAW;AAAA,IAChD;AAEA,SAAK,OAAO,WAAW;AAAA,EAC3B;AAAA,EAEA,iBAAiB,aAA0B;AACvC,UAAM,QAAQ,KAAK,OAAO,IAAI,WAAW;AACzC,QAAI,UAAU,QAAW;AACrB;AAAA,IACJ;AAEA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAEA,SAAK,OAAO,WAAW;AACvB,SAAK,mBAAmB,WAAW,EAAE;AAAA,MAAM,WACvC,OAAO,KAAK,aAAa,8CAA8C,KAAK;AAAA,IAChF;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,mBAAmB,aAA0B;AAC/C,QAAI;AACA,YAAM,KAAK,UAAU,eAAe,aAAa,IAAI,sBAAsB,CAAC;AAAA,IAChF,SAAS,OAAO;AACZ,aAAO,KAAK,aAAa,0DAA0D,KAAK;AAAA,IAC5F;AACA,SAAK,eAAe,aAAa,WAAW;AAAA,EAChD;AAAA,EAEA,CAAC,OAAO,OAAO,IAAI;AACf,eAAW,SAAS,KAAK,OAAO,OAAO,GAAG;AACtC,YAAM,YAAY,KAAK;AACvB,YAAM,aAAa,KAAK;AAAA,IAC5B;AACA,SAAK,OAAO,MAAM;AAClB,SAAK,WAAW,MAAM;AAAA,EAC1B;AACJ;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -86,8 +86,8 @@ class DeviceAdvertiser {
86
86
  this.#advertiseFabric(session.associatedFabric, "retransmit");
87
87
  });
88
88
  this.#observers.on(this.#context.sessions.subscriptionsChanged, (session, subscription) => {
89
- if (this.#isOperational && subscription.isCanceledByPeer && session.fabric !== void 0) {
90
- logger.debug(`Subscription canceled by peer, re-announce`);
89
+ if (this.#isOperational && subscription.isTerminated && session.fabric !== void 0) {
90
+ logger.debug(`Subscription ended, re-announce`);
91
91
  this.#advertiseFabric(session.fabric, "reconnect");
92
92
  }
93
93
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/protocol/DeviceAdvertiser.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAE9B,SAAS,0BAA0B;AAGnC,SAAS,qBAAqB;AAE9B,SAAS,sBAAsB;AAC/B,SAAgC,eAAe,QAAQ,sBAAsB,qBAAqB;AAGlG,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAuCrC,MAAM,iBAAiB;AAAA,EAC1B;AAAA,EACA,eAAe,oBAAI,IAAgB;AAAA,EACnC,aAAa,IAAI,cAAc;AAAA,EAC/B,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EAEA,YAAY,SAAkC;AAC1C,SAAK,WAAW;AAChB,UAAM,EAAE,SAAS,SAAS,IAAI,KAAK;AAGnC,SAAK,WAAW,GAAG,QAAQ,OAAO,OAAO,YAAU;AAC/C,UAAI,CAAC,KAAK,gBAAgB;AACtB;AAAA,MACJ;AAEA,WAAK,iBAAiB,QAAQ,SAAS;AAAA,IAC3C,CAAC;AAGD,SAAK,WAAW,GAAG,QAAQ,OAAO,UAAU,OAAM,WAAU;AACxD,UAAI,CAAC,KAAK,gBAAgB;AACtB;AAAA,MACJ;AAGA,YAAM,4BAA4B,KAAK;AAAA,QACnC,QAAM,GAAG,cAAc,KAAK,GAAG,YAAY,OAAO,gBAAgB,OAAO;AAAA,MAC7E;AAGA,UACI,0BAA0B;AAAA,QACtB,QACI,GAAG,cAAc,KACjB,GAAG,YAAY,OAAO,aAAa,OAAO,YAC1C,GAAG,YAAY,OAAO,WAAW,OAAO;AAAA,MAChD,GACF;AACE;AAAA,MACJ;AAEA,iBAAW,MAAM,2BAA2B;AACxC,cAAM,GAAG,MAAM;AAAA,MACnB;AAEA,WAAK,iBAAiB,QAAQ,SAAS;AAAA,IAC3C,CAAC;AAGD,SAAK,WAAW,GAAG,QAAQ,OAAO,UAAU,YAAU;AAClD,oBAAc,UAAU,KAAK,gBAAgB,QAAM,GAAG,cAAc,KAAK,GAAG,YAAY,WAAW,MAAM,CAAC;AAAA,IAC9G,CAAC;AAID,SAAK,WAAW,GAAG,SAAS,SAAS,OAAO,aAAW;AACnD,YAAM,cAAc,QAAQ,QAAQ;AACpC,YAAM,SAAS,cAAc,QAAQ,SAAS,WAAW,IAAI;AAC7D,UAAI,CAAC,QAAQ;AACT;AAAA,MACJ;AAEA,iBAAW,cAAc,KAAK,cAAc;AACxC,cAAM,KAAK,WAAW,uBAAuB,MAAM;AACnD,YAAI,IAAI;AACJ,aAAG,iBAAiB;AAAA,QACxB;AAAA,MACJ;AAAA,IACJ,CAAC;AAGD,SAAK,WAAW,GAAG,SAAS,SAAS,SAAS,aAAW;AACrD,YAAM,cAAc,QAAQ,QAAQ;AACpC,YAAM,SAAS,cAAc,QAAQ,SAAS,WAAW,IAAI;AAG7D,UAAI,QAAQ;AACR,YAAI,OAAO,kBAAkB,QAAQ,UAAU,GAAG;AAC9C;AAAA,QACJ;AAEA,mBAAW,cAAc,KAAK,cAAc;AACxC,gBAAM,KAAK,WAAW,uBAAuB,MAAM;AACnD,cAAI,IAAI;AACJ,eAAG,oBAAoB;AAAA,UAC3B;AAAA,QACJ;AAEA;AAAA,MACJ;AAMA,UAAI,CAAC,QAAQ,QAAQ;AACjB;AAAA,MACJ;AAGA,WAAK,iCAAiC;AAAA,IAC1C,CAAC;AAGD,SAAK,WAAW,GAAG,SAAS,OAAO,aAAW;AAC1C,UAAI,CAAC,QAAQ,YAAY,CAAE,QAA0B,QAAQ;AACzD;AAAA,MACJ;AAGA,WAAK,iBAAiB,QAAQ,kBAAkB,YAAY;AAAA,IAChE,CAAC;AAED,SAAK,WAAW,GAAG,KAAK,SAAS,SAAS,sBAAsB,CAAC,SAAS,iBAAiB;AACvF,UAAI,KAAK,kBAAkB,aAAa,gBAAgB,QAAQ,WAAW,QAAW;AAClF,eAAO,MAAM,iCAAiC;AAC9C,aAAK,iBAAiB,QAAQ,QAAQ,WAAW;AAAA,MACrD;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA,EAGA,IAAI,oBAAoB,OAA8C;AAClE,SAAK,SAAS,sBAAsB;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,4BAA4B,UAAgD;AACxE,SAAK,4BAA4B;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,gCAAgC,QAAgB;AAClD,QAAI,CAAC,KAAK,kBAAkB,KAAK,YAAY;AACzC;AAAA,IACJ;AAEA,UAAM,MAAM,KAAK;AAAA,MACb,QAAM,GAAG,cAAc,KAAK,GAAG,YAAY,OAAO,gBAAgB,OAAO;AAAA,IAC7E;AAEA,eAAW,MAAM,KAAK;AAClB,YAAM,GAAG,MAAM;AAAA,IACnB;AAIA,SAAK,iBAAiB,QAAQ,SAAS;AAAA,EAC3C;AAAA,EAEA,WAAW;AACP,WAAO;AAAA,EACX;AAAA,EAEA,QAAQ,cAAc,MAAM,EAAE,KAAkB;AAC5C,UAAM,WAAW,IAAI,iBAAiB;AAAA,MAClC,SAAS,IAAI,IAAI,aAAa;AAAA,MAC9B,UAAU,IAAI,IAAI,cAAc;AAAA,IACpC,CAAC;AACD,QAAI,IAAI,kBAAkB,QAAQ;AAClC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB,aAAgD;AACnE,SAAK,wBAAwB;AAC7B,SAAK,iCAAiC;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA,EAKA,mCAAmC;AAC/B,QAAI,KAAK,YAAY;AACjB;AAAA,IACJ;AAEA,QAAI,KAAK,0BAA0B,QAAW;AAC1C;AAAA,IACJ;AAEA,eAAW,cAAc,KAAK,cAAc;AACxC,iBAAW,UAAU,KAAK,uBAAuB,SAAS;AAAA,IAC9D;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,wBAAwB;AACpB,QAAI,CAAC,KAAK,uBAAuB;AAC7B;AAAA,IACJ;AAEA,SAAK,wBAAwB;AAC7B,WAAO,cAAc,SAAS,KAAK,gBAAgB,QAAM,GAAG,gBAAgB,CAAC,CAAC;AAAA,EAClF;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AACnB,QAAI,KAAK,kBAAkB,KAAK,YAAY;AACxC;AAAA,IACJ;AAEA,SAAK,iBAAiB;AAEtB,SAAK,+BAA+B;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA,EAKA,iCAAiC;AAC7B,QAAI,CAAC,KAAK,kBAAkB,KAAK,YAAY;AACzC;AAAA,IACJ;AAEA,UAAM,oBAAoB,IAAI;AAAA,MAC1B,KAAK,gBAAgB,QAAM,GAAG,cAAc,CAAC,EAAE;AAAA,QAC3C,QAAO,GAAqD,YAAY;AAAA,MAC5E;AAAA,IACJ;AAEA,eAAW,UAAU,KAAK,SAAS,SAAS;AACxC,UAAI,CAAC,kBAAkB,IAAI,MAAM,GAAG;AAChC,aAAK,iBAAiB,QAAQ,SAAS;AAAA,MAC3C;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB;AAClB,QAAI,CAAC,KAAK,gBAAgB;AACtB;AAAA,IACJ;AAEA,SAAK,iBAAiB;AAEtB,kBAAc,UAAU,KAAK,gBAAgB,QAAM,GAAG,cAAc,CAAC,CAAC;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,uBAAuB;AACnB,SAAK,iCAAiC;AACtC,SAAK,+BAA+B;AAAA,EACxC;AAAA,EAEA,MAAM,QAAQ;AACV,SAAK,aAAa;AAClB,SAAK,WAAW,MAAM;AACtB,UAAM,KAAK,iBAAiB;AAAA,EAChC;AAAA,EAEA,cAAc,YAAwB;AAClC,WAAO,KAAK,aAAa,IAAI,UAAU;AAAA,EAC3C;AAAA,EAEA,cAAc,YAAwB;AAClC,SAAK,aAAa,IAAI,UAAU;AAAA,EACpC;AAAA,EAEA,MAAM,iBAAiB,YAAwB;AAC3C,SAAK,aAAa,OAAO,UAAU;AACnC,UAAM,WAAW,MAAM;AAAA,EAC3B;AAAA,EAEA,MAAM,mBAAmB;AACrB,UAAM,cAAc,CAAC,GAAG,KAAK,YAAY;AACzC,SAAK,aAAa,MAAM;AACxB,UAAM,qBAAqB,WAAW,YAAY,IAAI,gBAAc,WAAW,MAAM,CAAC,CAAC;AAAA,EAC3F;AAAA,EAEA,iBAAiB,QAAgB,OAAkC;AAC/D,QAAI,KAAK,YAAY;AACjB;AAAA,IACJ;AAIA,UAAM,EAAE,cAAc,gBAAgB,gBAAgB,IAAI,KAAK,SAAS,SAAS;AACjF,UAAM,YAAY,KAAK,4BAA4B,MAAM,KAAK,EAAE,cAAc,gBAAgB,gBAAgB;AAE9G,eAAW,cAAc,KAAK,cAAc;AACxC,UAAI,UAAU,WAAW;AAGrB,YAAI,KAAK,SAAS,SAAS,UAAU,MAAM,EAAE,KAAK,aAAW,QAAQ,cAAc,OAAO,CAAC,GAAG;AAC1F,kBAAQ;AAAA,QACZ;AAAA,MACJ;AAEA,iBAAW;AAAA,QACP,mBAAmB,YAAY,EAAE,QAAQ,KAAK,KAAK,SAAS,qBAAqB,GAAG,UAAU,CAAC;AAAA,QAC/F;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,gBAAgB,WAA4C;AACxD,WAAO,CAAC,GAAG,KAAK,YAAY,EAAE;AAAA,MAAQ,gBAClC,YAAY,WAAW,OAAO,SAAS,IAAI,CAAC,GAAG,WAAW,cAAc;AAAA,IAC5E;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAiB,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAMH,WAAW,EAEX,OAAO,EACP,WAAW,EACX,aAAa,EAIb,QAAQ,EAKR,SAAS,EACT,YAAY,EAGf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,eAAgB,YAAW,SAAS,CAAC,QAAQ;;IActD,YAAY,OAAO,EAAE,sBAAsB,EAe1C;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,mBAS7C;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM,WAEpC;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM,+BAEpC;IAED,kBAAkB,CAAC,QAAQ,EAAE,eAAe,QAK3C;IAED,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEvE;IAED,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5D;IAED,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,mBAE3F;IAED,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,mBAWjG;IAEK,KAAK,kBA0CV;IA6PD,cAAc,CAAC,aAAa,EAAE,MAAM,QAEnC;IAoCD,qCAAqC,CACjC,OAAO,EAAE,OAAO,EAChB,sBAAsB,qCAAuC,EAC7D,yBAAyB,UAAQ,sCAUpC;CA8KJ;AAED,qBAAa,eAAe;;IAGxB,YAAY,OAAO,EAAE,OAAO,EAE3B;IAED,qBAAqB,WAMpB;CACJ"}
1
+ {"version":3,"file":"ExchangeManager.d.ts","sourceRoot":"","sources":["../../../src/protocol/ExchangeManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAiB,MAAM,4BAA4B,CAAC;AAE3E,OAAO,EAMH,WAAW,EAEX,OAAO,EACP,WAAW,EACX,aAAa,EAIb,QAAQ,EAKR,SAAS,EACT,YAAY,EAGf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAYvD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,YAAY,CAAC;IACzB,QAAQ,EAAE,cAAc,CAAC;CAC5B;AAED,qBAAa,eAAgB,YAAW,SAAS,CAAC,QAAQ;;IActD,YAAY,OAAO,EAAE,sBAAsB,EAe1C;IAED,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW,mBAS7C;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM,WAEpC;IAED,kBAAkB,CAAC,UAAU,EAAE,MAAM,+BAEpC;IAED,kBAAkB,CAAC,QAAQ,EAAE,eAAe,QAK3C;IAED,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAEvE;IAED,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5D;IAED,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,mBAE3F;IAED,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,mBAWjG;IAEK,KAAK,kBA0CV;IA6PD,cAAc,CAAC,aAAa,EAAE,MAAM,QAEnC;IAoCD,qCAAqC,CACjC,OAAO,EAAE,OAAO,EAChB,sBAAsB,qCAAuC,EAC7D,yBAAyB,UAAQ,sCAUpC;CAkLJ;AAED,qBAAa,eAAe;;IAGxB,YAAY,OAAO,EAAE,OAAO,EAE3B;IAED,qBAAqB,WAMpB;CACJ"}
@@ -458,7 +458,11 @@ class ExchangeManager {
458
458
  });
459
459
  return;
460
460
  }
461
- await this.#sessions.handlePeerLoss(session.peerAddress, cause, createdAt);
461
+ await this.#sessions.handlePeerLoss(session.peerAddress, {
462
+ cause,
463
+ asOf: createdAt,
464
+ currentExchange: exchange
465
+ });
462
466
  },
463
467
  retry: (number) => this.#sessions.retry.emit(session, number)
464
468
  };
@@ -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": ["_stack", "_", "_error", "_hasError", "exchange"]
6
6
  }
@@ -43,7 +43,7 @@ export interface ExchangeSendOptions {
43
43
  maxRetransmissionTime?: Duration;
44
44
  /** Initial MRP retransmission time (default: calculated as by Matter specification) */
45
45
  initialRetransmissionTime?: Duration;
46
- /** Suppress peer-loss reporting on send-failure so the session stays alive. Used by probing. */
46
+ /** Suppress peer-loss reporting for this send. OR'd with {@link MessageExchange.Options.suppressPeerLoss}. */
47
47
  suppressPeerLoss?: boolean;
48
48
  }
49
49
  export interface ExchangeReceiveOptions {
@@ -55,7 +55,7 @@ export interface ExchangeReceiveOptions {
55
55
  * timeout for responses together with the normal retransmission logic when MRP is used.
56
56
  */
57
57
  expectedProcessingTime?: Duration;
58
- /** Suppress peer-loss reporting on receive failure so the session stays alive for further probing. */
58
+ /** Suppress peer-loss reporting for this receive. OR'd with {@link MessageExchange.Options.suppressPeerLoss}. */
59
59
  suppressPeerLoss?: boolean;
60
60
  }
61
61
  /**
@@ -190,6 +190,8 @@ export declare namespace MessageExchange {
190
190
  * instead of the session's default peer address.
191
191
  */
192
192
  addressOverride?: ServerAddressUdp;
193
+ /** Waive peer-loss inference here. Required for exchanges to a peer that drives its own recovery. */
194
+ suppressPeerLoss?: boolean;
193
195
  }
194
196
  interface Config extends Options {
195
197
  context: MessageExchangeContext;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageExchange.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageExchange.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA6B,MAAM,wBAAwB,CAAC;AAE5E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQzD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAIH,oBAAoB,EACpB,KAAK,EAOL,QAAQ,EAKR,QAAQ,EAMR,gBAAgB,EAIhB,SAAS,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEH,MAAM,EAKT,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAChC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;;OAGG;IACH,sBAAsB,CAAC,EAAE,QAAQ,CAAC;IAElC,gGAAgG;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,qGAAqG;IACrG,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAEhC,qCAAqC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,QAAQ,CAAC;IAEjC,uFAAuF;IACvF,yBAAyB,CAAC,EAAE,QAAQ,CAAC;IAErC,gGAAgG;IAChG,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,sBAAsB;IACnC,qCAAqC;IACrC,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,QAAQ,CAAC;IAElC,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,QAAyC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB,EAAE,iBAAiB,CAAC;IAE1C,4EAA4E;IAC5E,uBAAuB,EAAE,QAAQ,CAAC;IAElC,yGAAyG;IACzG,oBAAoB,EAAE,QAAQ,CAAC;IAE/B,QAAQ,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjE,kBAAkB;IAClB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;;IACxB,MAAM,CAAC,kBAAkB,CACrB,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,OAAO,EACvB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,mBAapC;IAED,MAAM,CAAC,QAAQ,CACX,OAAO,EAAE,sBAAsB,EAC/B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,eAAe,CAAC,OAAO,mBAapC;IAiDD,YAAY,MAAM,EAAE,eAAe,CAAC,MAAM,EAyDzC;IAED,IAAI,OAAO,2BAEV;IAED,IAAI,WAAW,YAEd;IAED;;;OAGG;IACH,IAAI,SAAS,CAAC,EAAE,EAAE,eAAe,CAAC,eAAe,EAIhD;IAED;;;OAGG;IACH,IAAI,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,YAAY,EAI1C;IAED,6GAA6G;IAC7G,IAAI,MAAM,0CAET;IAED,IAAI,cAAc,QAEjB;IAED,gHAAgH;IAChH,IAAI,UAAU,cAEb;IAOD;;;OAGG;IACH,IAAI,OAAO,0CAEV;IAED,IAAI,EAAE,WAEL;IAED,IAAI,KAAK,WAER;IAED,IAAI,OAAO,YAEV;IAED,gGAAgG;IAChG,IAAI,mBAAmB,WAEtB;IAED;;;;OAIG;IACH,IAAI,iBAAiB,YAEpB;IAED,IAAI,OAAO,mBAKV;IAED;;;OAGG;IACH,IAAI,cAAc,WAIjB;IAED,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,YAEtB;IAEK,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,UAAQ,iBAmF1D;IAEK,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAE,mBAAwB,iBAwBhF;IA4LK,WAAW,CAAC,OAAO,CAAC,EAAE,sBAAsB,oBAiBjD;IA8BK,2BAA2B,CAAC,OAAO,EAAE,OAAO,iBAUjD;IAwFD,CAAC,MAAM,CAAC,YAAY,CAAC,kBAEpB;IAEK,OAAO,kBAgBZ;IAED,qBAAqB,CAAC,OAAO,EAAE,QAAQ,QAkBtC;IAED,qBAAqB,SASpB;IAED,mBAAmB,YAElB;IAED,yBAAyB,YAExB;IAED,0BAA0B,YAEzB;IAED;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,iBA6ExB;IAsBD,IAAI,GAAG,WAMN;IAED;;;OAGG;IACH,IAAI,WAAW,WASd;IAmCD;;;;OAIG;IACH,IAAI,2BAA2B,IAAI,QAAQ,CAQ1C;CACJ;AAED,yBAAiB,eAAe,CAAC,CAAC;IAC9B,UAAiB,OAAO;QACpB;;WAEG;QACH,MAAM,CAAC,EAAE,YAAY,CAAC;QAEtB;;WAEG;QACH,SAAS,CAAC,EAAE,eAAe,CAAC;QAE5B;;;;WAIG;QACH,OAAO,CAAC,EAAE,cAAc,CAAC;QAEzB;;;WAGG;QACH,sBAAsB,CAAC,EAAE,QAAQ,CAAC;QAElC;;;WAGG;QACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;KACtC;IAED,UAAiB,MAAO,SAAQ,OAAO;QACnC,OAAO,EAAE,sBAAsB,CAAC;QAChC,WAAW,EAAE,OAAO,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACtB;IAED;;OAEG;IACH,KAAY,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAE9E;;OAEG;IACH,KAAY,eAAe,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAChF"}
1
+ {"version":3,"file":"MessageExchange.d.ts","sourceRoot":"","sources":["../../../src/protocol/MessageExchange.ts"],"names":[],"mappings":"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"}
@@ -128,6 +128,7 @@ class MessageExchange {
128
128
  #onReceive;
129
129
  #addressOverride;
130
130
  #peerAdditionalMrpDelay;
131
+ #suppressPeerLoss;
131
132
  #receivedMessageToAck;
132
133
  #receivedMessageAckTimer = Time.getTimer("ack receipt timeout", MRP.STANDALONE_ACK_TIMEOUT, () => {
133
134
  if (this.#receivedMessageToAck !== void 0) {
@@ -176,7 +177,8 @@ class MessageExchange {
176
177
  onReceive,
177
178
  network,
178
179
  peerAdditionalMrpDelay,
179
- addressOverride
180
+ addressOverride,
181
+ suppressPeerLoss = false
180
182
  } = config;
181
183
  this.#context = context;
182
184
  this.#isInitiator = isInitiator;
@@ -189,6 +191,7 @@ class MessageExchange {
189
191
  this.#onReceive = onReceive;
190
192
  this.#addressOverride = addressOverride;
191
193
  this.#peerAdditionalMrpDelay = peerAdditionalMrpDelay;
194
+ this.#suppressPeerLoss = suppressPeerLoss;
192
195
  const { activeThreshold, activeInterval, idleInterval } = this.session.parameters;
193
196
  this.#used = !isInitiator;
194
197
  const { session } = context;
@@ -381,12 +384,19 @@ class MessageExchange {
381
384
  try {
382
385
  await this.#send(messageType, payload);
383
386
  } catch (e) {
384
- if (!options.suppressPeerLoss && this.#messageReceivedCounter === 0 && causedBy(e, TransientPeerCommunicationError, TimeoutError, NetworkError)) {
387
+ if (this.#reportsPeerLoss(options.suppressPeerLoss) && causedBy(e, TransientPeerCommunicationError, TimeoutError, NetworkError)) {
385
388
  await this.#context.peerLost(this, asError(e));
386
389
  }
387
390
  throw e;
388
391
  }
389
392
  }
393
+ /**
394
+ * Whether a failure here is evidence the peer is gone. Only if we never heard from it on this exchange: one that
395
+ * answered earlier was reachable, and peer loss closes every session with it.
396
+ */
397
+ #reportsPeerLoss(suppressedForOperation) {
398
+ return !this.#suppressPeerLoss && suppressedForOperation !== true && this.#messageReceivedCounter === 0;
399
+ }
390
400
  async #send(messageType, payload, standaloneAckMessageId) {
391
401
  var _stack2 = [];
392
402
  try {
@@ -567,7 +577,7 @@ class MessageExchange {
567
577
  try {
568
578
  return await this.#nextMessage(options);
569
579
  } catch (e) {
570
- if (!options?.suppressPeerLoss && this.#messageReceivedCounter === 0 && causedBy(e, TransientPeerCommunicationError)) {
580
+ if (this.#reportsPeerLoss(options?.suppressPeerLoss) && causedBy(e, TransientPeerCommunicationError)) {
571
581
  await this.#context.peerLost(this, asError(e));
572
582
  }
573
583
  throw e;