reactor-effect-client 0.3.0-rc.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/stats.js CHANGED
@@ -6,11 +6,83 @@ const positive = (u) => {
6
6
  return n !== undefined && n > 0 ? n : undefined;
7
7
  };
8
8
  const text = (u) => (typeof u === "string" ? u : undefined);
9
+ /** A byte counter as a bigint, when it is one exactly; only for choosing a pair. */
10
+ const bytes = (u) => typeof u === "bigint"
11
+ ? u
12
+ : typeof u === "number" && Number.isSafeInteger(u) && u >= 0
13
+ ? BigInt(u)
14
+ : undefined;
15
+ const isPair = (e) => e.type === "candidate-pair" && typeof e.id === "string";
16
+ /**
17
+ * One pair across the samples of a generation. The native host names pairs by
18
+ * their position in its report, which shifts when a pair is added or dropped.
19
+ * A pair's priority, fixed by its two candidates, and its local candidate
20
+ * identify it instead; where a host reports no priority, its id does.
21
+ */
22
+ const pairKey = (generation, pair, byId) => {
23
+ const priority = pair.priority;
24
+ if (typeof priority !== "bigint" && typeof priority !== "number")
25
+ return `${generation}:id:${pair.id}`;
26
+ const local = byId.get(text(pair.localCandidateId) ?? "");
27
+ return `${generation}:priority:${priority}:${text(local?.candidateType) ?? ""}:${text(local?.relayProtocol) ?? ""}`;
28
+ };
9
29
  /** Browser counters are JS numbers. Unsafe integers are flagged, never falsely converted back to full precision. */
10
30
  export class StatsSampler {
11
31
  baseline;
32
+ /** Each candidate pair's received bytes at the previous sample, by `pairKey`. */
33
+ received = new Map();
34
+ /** The pair the previous sample reported, by the same key. */
35
+ chosen;
12
36
  reset() {
13
37
  this.baseline = undefined;
38
+ this.received = new Map();
39
+ this.chosen = undefined;
40
+ }
41
+ /**
42
+ * The pair carrying the connection. A transport's `selectedCandidatePairId`
43
+ * names it where the host reports one, as browsers do. Otherwise it is the
44
+ * nominated, succeeded pair that received the most since the previous
45
+ * sample: ICE leaves a pair nominated after moving off it, and only the pair
46
+ * in use carries media and the channels. A tie keeps the pair reported
47
+ * before, and otherwise goes to the first.
48
+ */
49
+ selectedPair(entries, byId, generation) {
50
+ const pairs = entries.filter(isPair);
51
+ const key = (pair) => pairKey(generation, pair, byId);
52
+ const previous = this.received, before = this.chosen;
53
+ this.received = new Map(pairs.flatMap((pair) => {
54
+ const received = bytes(pair.bytesReceived);
55
+ return received === undefined ? [] : [[key(pair), received]];
56
+ }));
57
+ let chosen;
58
+ for (const transport of entries) {
59
+ if (transport.type !== "transport")
60
+ continue;
61
+ const named = byId.get(text(transport.selectedCandidatePairId) ?? "");
62
+ if (named !== undefined && isPair(named)) {
63
+ chosen = named;
64
+ break;
65
+ }
66
+ }
67
+ let most = -1n;
68
+ if (chosen === undefined)
69
+ for (const pair of pairs) {
70
+ if (pair.nominated !== true || pair.state !== "succeeded")
71
+ continue;
72
+ const received = bytes(pair.bytesReceived), prior = previous.get(key(pair));
73
+ // A count below the last one belongs to a reset pair: it grew by all of it.
74
+ const growth = received === undefined
75
+ ? 0n
76
+ : prior === undefined || received < prior
77
+ ? received
78
+ : received - prior;
79
+ if (growth > most || (growth === most && key(pair) === before)) {
80
+ chosen = pair;
81
+ most = growth;
82
+ }
83
+ }
84
+ this.chosen = chosen === undefined ? undefined : key(chosen);
85
+ return chosen;
14
86
  }
15
87
  sample(raw, generation, atMs) {
16
88
  if (!Number.isFinite(atMs) || raw.length > 4096)
@@ -31,9 +103,9 @@ export class StatsSampler {
31
103
  }
32
104
  return n;
33
105
  };
34
- const pair = entries.find((e) => e.type === "candidate-pair" && e.nominated === true && e.state === "succeeded");
106
+ const pair = this.selectedPair(entries, byId, generation);
35
107
  let pairResult, rates;
36
- if (pair !== undefined && typeof pair.id === "string") {
108
+ if (pair !== undefined) {
37
109
  const sent = counter(pair.bytesSent, "pair.bytesSent"), received = counter(pair.bytesReceived, "pair.bytesReceived");
38
110
  const local = byId.get(text(pair.localCandidateId) ?? ""), remote = byId.get(text(pair.remoteCandidateId) ?? "");
39
111
  const localType = text(local?.candidateType), remoteType = text(remote?.candidateType);
@@ -48,7 +120,7 @@ export class StatsSampler {
48
120
  ...(incoming === undefined ? {} : { availableIncomingBitrate: incoming }),
49
121
  };
50
122
  if (sent !== undefined && received !== undefined) {
51
- const key = `${generation}:${pair.id}`, previous = this.baseline;
123
+ const key = pairKey(generation, pair, byId), previous = this.baseline;
52
124
  if (previous?.key === key &&
53
125
  atMs >= previous.at &&
54
126
  sent >= previous.sent &&
package/dist/stats.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "reactor-effect-client",
3
- "version": "0.3.0-rc.0",
3
+ "version": "0.3.0",
4
4
  "description": "Scoped Reactor sessions, H3 provider state and explicit orchestration over Effect",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -59,7 +59,7 @@
59
59
  "@effect/vitest": "4.0.0-rc.115",
60
60
  "@types/node": "22.20.2",
61
61
  "effect": "4.0.0-rc.115",
62
- "reactor-effect-test-kit": "0.3.0-rc.0",
62
+ "reactor-effect-test-kit": "0.3.0",
63
63
  "vitest": "5.0.0"
64
64
  },
65
65
  "scripts": {