transport-io 0.7.1 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -18,7 +18,7 @@ returns an async iterable, and leaving the loop resets the QUIC stream so the se
18
18
  generator's `finally` runs.
19
19
 
20
20
  **Read [KNOWN-ISSUES.md](https://github.com/transport-io/transport-io/blob/main/KNOWN-ISSUES.md)
21
- before you start.** It lists what this library will not do, and the one measured defect. Full documentation is in the
21
+ before you start.** It lists what this library will not do. Full documentation is in the
22
22
  [repository README](https://github.com/transport-io/transport-io#readme). The short version:
23
23
 
24
24
  - **WebTransport only.** No WebSocket fallback. An unsupported runtime gets `WT_NO_SUPPORT`.
@@ -28,10 +28,6 @@ before you start.** It lists what this library will not do, and the one measured
28
28
  That package, the fourteen-day ECDSA rule for a pinned development certificate, and the
29
29
  Safari gap are the same for Socket.IO's WebTransport transport: properties of the stack,
30
30
  not of this library.
31
- - **Each bidirectional stream leaks ~5.95 KB of server memory**, upstream in the QUIC
32
- binding, not in this library. `emit` and datagrams are flat. The leak is per stream rather
33
- than per message, so a `stream()` of a thousand tokens costs 5.95 KB in total where a
34
- thousand `call()`s cost 5.95 KB each: for token workloads, streaming is the cheap shape.
35
31
  - **The protocol is v0 and unstable.** Both sides currently require an exact match.
36
32
 
37
33
  ```bash
package/dist/index.js CHANGED
@@ -14,5 +14,5 @@ export { createServer, Server, } from './server.js';
14
14
  * `changeset version` moves the manifest, so this moves in the same commit - which the test
15
15
  * enforces rather than trusting anyone to remember.
16
16
  */
17
- export const VERSION = '0.7.1';
17
+ export const VERSION = '0.7.3';
18
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -9,6 +9,7 @@ import { encodeFrame, FrameDecoder } from './framer.js';
9
9
  import { buildHandshake, negotiate, parseHandshake } from './handshake.js';
10
10
  import { CLOSE_REASON_MAX_BYTES, CloseCode, Codec, EVENT_ID_NOT_APPLICABLE, FrameType, HANDSHAKE_DEADLINE_MS, MAX_CONCURRENT_CALL_STREAMS, ResetCode, SEQUENCE_STATE_RETENTION_MS, STREAM_CREDIT_REFILL, STREAM_INITIAL_CREDIT, } from './protocol.js';
11
11
  import { DatagramQueue, EmitQueue, PeerTooSlowError } from './queue.js';
12
+ import { OwnedTimers } from './timers.js';
12
13
  /**
13
14
  * §10.2 exists so that a peer can tell a version disagreement from a framing bug. Closing
14
15
  * every refusal with 1004 made the table decorative: an implementer told "unrecoverable
@@ -145,7 +146,12 @@ export class Session {
145
146
  #negotiated;
146
147
  #handshakeResolve;
147
148
  #handshakeReject;
149
+ /** Every timer this session owns. `dispose()` clears it whole; see timers.ts and D118. */
150
+ #timers = new OwnedTimers();
148
151
  #sweepTimer;
152
+ #handshakeTimer;
153
+ #deadlineReject;
154
+ #handshakeSettled = false;
149
155
  #disposed = false;
150
156
  /** Resolves when both sides have exchanged a valid handshake. */
151
157
  ready;
@@ -191,42 +197,71 @@ export class Session {
191
197
  onDeadline = reject;
192
198
  });
193
199
  void deadline.catch(() => undefined); // observed, so it can never be an unhandled rejection
194
- const timer = setTimeout(() => {
200
+ // Held on the session for the same reason the timer is: `start()` parks on the emit
201
+ // stream, then on the handshake write, then on `ready`, and disposal has to be able to
202
+ // answer whichever one it is parked on. Rejecting `ready` alone leaves the first two.
203
+ this.#deadlineReject = onDeadline;
204
+ /**
205
+ * Owned by the session rather than by this function, so every teardown path can release
206
+ * it. As a local it was reachable only from the two `clearTimeout` calls below it, so a
207
+ * throw from either `await` that follows - or a `dispose()` from anywhere - left it armed
208
+ * for the rest of the deadline, to fire into a session that no longer existed. A test
209
+ * runner reports that as an unhandled error belonging to whatever was running five
210
+ * seconds later. Same shape as the sweep interval, and the same fix. See D117.
211
+ */
212
+ this.#handshakeTimer = this.#timers.after(this.#deadlineMs, () => {
195
213
  const e = new TransportError('WT_HANDSHAKE_TIMEOUT', `no handshake within ${this.#deadlineMs}ms`, 'The session opened but no application bytes arrived. Some browsers establish a WebTransport session and then never transmit; that combination is unsupported.');
196
- this.#handshakeReject(e);
214
+ this.#settleHandshake(e);
197
215
  this.close(CloseCode.WT_HANDSHAKE_TIMEOUT, 'handshake deadline');
198
- onDeadline(e);
199
- }, this.#deadlineMs);
200
- const writable = await Promise.race([this.#conn.openEmitStream(), deadline]);
201
- const writer = writable.getWriter();
202
- this.#writer = writer;
203
- // Frame 0 of the emit stream. In-order delivery within a stream makes early traffic
204
- // impossible by construction, so there is no race to guard.
205
- await Promise.race([
206
- writer.write(encodeFrame({
207
- type: FrameType.HANDSHAKE,
208
- codec: Codec.JSON,
209
- eventId: EVENT_ID_NOT_APPLICABLE,
210
- payload: encodePayload(buildHandshake(this.#table)),
211
- })),
212
- deadline,
213
- ]);
214
- this.#handshakeSent = true;
215
- this.#flushEmits();
216
+ });
216
217
  try {
218
+ const writable = await Promise.race([this.#conn.openEmitStream(), deadline]);
219
+ const writer = writable.getWriter();
220
+ this.#writer = writer;
221
+ // Frame 0 of the emit stream. In-order delivery within a stream makes early traffic
222
+ // impossible by construction, so there is no race to guard.
223
+ await Promise.race([
224
+ writer.write(encodeFrame({
225
+ type: FrameType.HANDSHAKE,
226
+ codec: Codec.JSON,
227
+ eventId: EVENT_ID_NOT_APPLICABLE,
228
+ payload: encodePayload(buildHandshake(this.#table)),
229
+ })),
230
+ deadline,
231
+ ]);
232
+ this.#handshakeSent = true;
233
+ this.#flushEmits();
217
234
  const n = await this.ready;
218
- clearTimeout(timer);
219
- this.#sweepTimer = setInterval(() => {
235
+ this.#sweepTimer = this.#timers.every(SEQUENCE_STATE_RETENTION_MS, () => {
220
236
  this.#gate.sweep(this.#now(), SEQUENCE_STATE_RETENTION_MS);
221
- }, SEQUENCE_STATE_RETENTION_MS);
222
- this.#sweepTimer.unref?.();
237
+ });
238
+ this.#sweepTimer.unref();
223
239
  return n;
224
240
  }
225
- catch (e) {
226
- clearTimeout(timer);
227
- throw e;
241
+ finally {
242
+ this.#clearHandshakeTimer();
243
+ this.#deadlineReject = undefined;
228
244
  }
229
245
  }
246
+ /**
247
+ * The handshake fails once, with the reason it first failed for.
248
+ *
249
+ * `start()` parks on the emit stream, then the handshake write, then `ready`, so both
250
+ * promises have to be answered to release it wherever it is. First failure wins: the
251
+ * deadline's own `close()` reaches `dispose()`, which would otherwise overwrite
252
+ * `WT_HANDSHAKE_TIMEOUT` with the closure it just caused.
253
+ */
254
+ #settleHandshake(e) {
255
+ if (this.#handshakeSettled)
256
+ return;
257
+ this.#handshakeSettled = true;
258
+ this.#handshakeReject(e);
259
+ this.#deadlineReject?.(e);
260
+ }
261
+ #clearHandshakeTimer() {
262
+ this.#handshakeTimer?.cancel();
263
+ this.#handshakeTimer = undefined;
264
+ }
230
265
  /** JOIN and LEAVE are server-to-client notifications, so a client can keep an accurate
231
266
  * view of its own membership. Rooms are server-authoritative; this is not a request. */
232
267
  onControl(cb) {
@@ -499,9 +534,16 @@ export class Session {
499
534
  // sequence counter for everyone sent to. Both grow with peer count.
500
535
  this.#gate.clear();
501
536
  this.#sequences.clear();
502
- if (this.#sweepTimer !== undefined)
503
- clearInterval(this.#sweepTimer);
537
+ // Every timer at once, so a timer added later is released without this line changing.
538
+ // The promises are the half a registry cannot cover: clearing the deadline without
539
+ // settling what it would have settled trades a leak for a hang, because `start()` is
540
+ // parked on an await only a timer or a peer can answer.
541
+ this.#timers.clearAll();
504
542
  this.#sweepTimer = undefined;
543
+ this.#handshakeTimer = undefined;
544
+ if (!this.#handshakeSettled) {
545
+ this.#settleHandshake(new TransportError('WT_SESSION_CLOSED', 'the session closed before the handshake completed', 'Connect again. A session torn down mid-handshake cannot be revived.'));
546
+ }
505
547
  this.#handlers.clear();
506
548
  this.#callHandlers.clear();
507
549
  this.#controlHandlers.clear();
@@ -991,7 +1033,7 @@ export class Session {
991
1033
  catch (e) {
992
1034
  // A protocol error on the emit stream is fatal to the lane: there is one stream per
993
1035
  // direction and no way to reopen it, so resetting would end stream traffic silently.
994
- this.#handshakeReject(e);
1036
+ this.#settleHandshake(e);
995
1037
  this.close(closeCodeFor(e), closeReason(e));
996
1038
  }
997
1039
  }
@@ -1000,6 +1042,7 @@ export class Session {
1000
1042
  const peer = parseHandshake(decodePayload(frame.payload));
1001
1043
  const n = negotiate(buildHandshake(this.#table), peer);
1002
1044
  this.#negotiated = n;
1045
+ this.#handshakeSettled = true;
1003
1046
  this.#handshakeResolve(n);
1004
1047
  return;
1005
1048
  }
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Every timer an object owns, in one place.
3
+ *
4
+ * `dispose()` used to release timers one named field at a time, which meant that adding a
5
+ * timer required remembering to extend a method three hundred lines away. Twice nobody did,
6
+ * and the second time it took CI down with no commit behind it (D117). Holding them here
7
+ * makes disposal one unconditional call that never needs editing when a timer is added.
8
+ *
9
+ * The registry alone would only be a nicer list. What makes the class impossible is that
10
+ * `scripts/check-boundaries.ts` refuses a direct `setTimeout` or `setInterval` in any module
11
+ * that defines a `dispose()`, so this is the only way in rather than the polite way in.
12
+ *
13
+ * It does not solve the other half of D117: a timer is often the only thing that will ever
14
+ * answer a promise somebody is awaiting, so releasing it without settling that promise trades
15
+ * a leak for a hang. `session-teardown.test.ts` is what covers that half.
16
+ */
17
+ /** One timer, which its owner may cancel early and which disposal will cancel regardless. */
18
+ export interface OwnedTimer {
19
+ cancel(): void;
20
+ /**
21
+ * Node returns a `Timeout` carrying `unref`; browsers return a number. Neither type exists
22
+ * in both runtimes, so this is narrowed rather than assumed, and does nothing where absent.
23
+ */
24
+ unref(): void;
25
+ }
26
+ export declare class OwnedTimers {
27
+ #private;
28
+ /** Fires once. A timer that has fired is no longer live and needs no release. */
29
+ after(ms: number, fn: () => void): OwnedTimer;
30
+ /** Repeats until it is cancelled, or until the owner is disposed. */
31
+ every(ms: number, fn: () => void): OwnedTimer;
32
+ /**
33
+ * Releases everything still live. Idempotent, and the only call a teardown needs: a timer
34
+ * added tomorrow is covered without this line, or the teardown, changing.
35
+ */
36
+ clearAll(): void;
37
+ /** Outstanding timers, for the teardown tests that assert the invariant. */
38
+ get liveCount(): number;
39
+ }
40
+ //# sourceMappingURL=timers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.d.ts","sourceRoot":"","sources":["../src/timers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,6FAA6F;AAC7F,MAAM,WAAW,UAAU;IACzB,MAAM,IAAI,IAAI,CAAA;IACd;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAA;CACd;AAED,qBAAa,WAAW;;IAGtB,iFAAiF;IACjF,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,UAAU,CAU5C;IAED,qEAAqE;IACrE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,UAAU,CAK5C;IAED;;;OAGG;IACH,QAAQ,IAAI,IAAI,CAGf;IAED,4EAA4E;IAC5E,IAAI,SAAS,IAAI,MAAM,CAEtB;CAeF"}
package/dist/timers.js ADDED
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Every timer an object owns, in one place.
3
+ *
4
+ * `dispose()` used to release timers one named field at a time, which meant that adding a
5
+ * timer required remembering to extend a method three hundred lines away. Twice nobody did,
6
+ * and the second time it took CI down with no commit behind it (D117). Holding them here
7
+ * makes disposal one unconditional call that never needs editing when a timer is added.
8
+ *
9
+ * The registry alone would only be a nicer list. What makes the class impossible is that
10
+ * `scripts/check-boundaries.ts` refuses a direct `setTimeout` or `setInterval` in any module
11
+ * that defines a `dispose()`, so this is the only way in rather than the polite way in.
12
+ *
13
+ * It does not solve the other half of D117: a timer is often the only thing that will ever
14
+ * answer a promise somebody is awaiting, so releasing it without settling that promise trades
15
+ * a leak for a hang. `session-teardown.test.ts` is what covers that half.
16
+ */
17
+ export class OwnedTimers {
18
+ #live = new Set();
19
+ /** Fires once. A timer that has fired is no longer live and needs no release. */
20
+ after(ms, fn) {
21
+ let self;
22
+ const id = setTimeout(() => {
23
+ if (self !== undefined)
24
+ this.#live.delete(self);
25
+ fn();
26
+ }, ms);
27
+ self = this.#own(id, () => {
28
+ clearTimeout(id);
29
+ });
30
+ return self;
31
+ }
32
+ /** Repeats until it is cancelled, or until the owner is disposed. */
33
+ every(ms, fn) {
34
+ const id = setInterval(fn, ms);
35
+ return this.#own(id, () => {
36
+ clearInterval(id);
37
+ });
38
+ }
39
+ /**
40
+ * Releases everything still live. Idempotent, and the only call a teardown needs: a timer
41
+ * added tomorrow is covered without this line, or the teardown, changing.
42
+ */
43
+ clearAll() {
44
+ for (const timer of [...this.#live])
45
+ timer.cancel();
46
+ this.#live.clear();
47
+ }
48
+ /** Outstanding timers, for the teardown tests that assert the invariant. */
49
+ get liveCount() {
50
+ return this.#live.size;
51
+ }
52
+ #own(id, clear) {
53
+ const timer = {
54
+ cancel: () => {
55
+ clear();
56
+ this.#live.delete(timer);
57
+ },
58
+ unref: () => {
59
+ ;
60
+ id.unref?.();
61
+ },
62
+ };
63
+ this.#live.add(timer);
64
+ return timer;
65
+ }
66
+ }
67
+ //# sourceMappingURL=timers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timers.js","sourceRoot":"","sources":["../src/timers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAYH,MAAM,OAAO,WAAW;IACb,KAAK,GAAG,IAAI,GAAG,EAAc,CAAA;IAEtC,iFAAiF;IACjF,KAAK,CAAC,EAAU,EAAE,EAAc;QAC9B,IAAI,IAA4B,CAAA;QAChC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC/C,EAAE,EAAE,CAAA;QACN,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;YACxB,YAAY,CAAC,EAAE,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,EAAU,EAAE,EAAc;QAC9B,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE;YACxB,aAAa,CAAC,EAAE,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,MAAM,EAAE,CAAA;QACnD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;IAED,4EAA4E;IAC5E,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,EAAW,EAAE,KAAiB;QACjC,MAAM,KAAK,GAAe;YACxB,MAAM,EAAE,GAAG,EAAE;gBACX,KAAK,EAAE,CAAA;gBACP,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,CAAC;gBAAC,EAA6B,CAAC,KAAK,EAAE,EAAE,CAAA;YAC3C,CAAC;SACF,CAAA;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * The alternative transport, behind the same seam.
3
3
  *
4
- * `@moq/web-transport` is a NAPI-RS binding over a Rust QUIC stack. It is measured flat
5
- * on the per-stream churn that costs the reference binding 11.6 KB (D66), but a byte
6
- * count establishes exactly one property. This adapter exists so the existing suite can
4
+ * `@moq/web-transport` is a NAPI-RS binding over a Rust QUIC stack. It measured flat on
5
+ * the per-stream churn that cost the reference binding 11.6 KB through 1.6.7 (D66), but a
6
+ * byte count establishes exactly one property. This adapter exists so the existing suite can
7
7
  * run against it unchanged and establish the rest.
8
8
  *
9
9
  * Its surface is promise-and-method based rather than WHATWG streams, so the wrapping
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "transport-io",
3
- "version": "0.7.1",
3
+ "version": "0.7.3",
4
4
  "description": "Real-time apps over WebTransport. Two lanes, one contract, no fallback.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -42,7 +42,7 @@
42
42
  "build": "tsc --build"
43
43
  },
44
44
  "dependencies": {
45
- "@fails-components/webtransport": "1.6.7",
45
+ "@fails-components/webtransport": "1.6.8",
46
46
  "@standard-schema/spec": "^1.1.0"
47
47
  },
48
48
  "optionalDependencies": {