@peerbit/pubsub 5.2.11 → 5.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.
Files changed (67) hide show
  1. package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.d.ts +3 -0
  2. package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.d.ts.map +1 -0
  3. package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.js +90 -0
  4. package/dist/benchmark/fanout-tree-parent-upgrade-default-ready.js.map +1 -0
  5. package/dist/benchmark/fanout-tree-parent-upgrade-eval.d.ts +2 -0
  6. package/dist/benchmark/fanout-tree-parent-upgrade-eval.d.ts.map +1 -0
  7. package/dist/benchmark/fanout-tree-parent-upgrade-eval.js +712 -0
  8. package/dist/benchmark/fanout-tree-parent-upgrade-eval.js.map +1 -0
  9. package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.d.ts +2 -0
  10. package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.d.ts.map +1 -0
  11. package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.js +1591 -0
  12. package/dist/benchmark/fanout-tree-parent-upgrade-multi-eval.js.map +1 -0
  13. package/dist/benchmark/fanout-tree-parent-upgrade-prepush.d.ts +2 -0
  14. package/dist/benchmark/fanout-tree-parent-upgrade-prepush.d.ts.map +1 -0
  15. package/dist/benchmark/fanout-tree-parent-upgrade-prepush.js +297 -0
  16. package/dist/benchmark/fanout-tree-parent-upgrade-prepush.js.map +1 -0
  17. package/dist/benchmark/fanout-tree-parent-upgrade-preset.d.ts +73 -0
  18. package/dist/benchmark/fanout-tree-parent-upgrade-preset.d.ts.map +1 -0
  19. package/dist/benchmark/fanout-tree-parent-upgrade-preset.js +183 -0
  20. package/dist/benchmark/fanout-tree-parent-upgrade-preset.js.map +1 -0
  21. package/dist/benchmark/fanout-tree-sim-lib.d.ts +101 -0
  22. package/dist/benchmark/fanout-tree-sim-lib.d.ts.map +1 -1
  23. package/dist/benchmark/fanout-tree-sim-lib.js +540 -38
  24. package/dist/benchmark/fanout-tree-sim-lib.js.map +1 -1
  25. package/dist/benchmark/fanout-tree-sim.d.ts +0 -9
  26. package/dist/benchmark/fanout-tree-sim.d.ts.map +1 -1
  27. package/dist/benchmark/fanout-tree-sim.js +369 -28
  28. package/dist/benchmark/fanout-tree-sim.js.map +1 -1
  29. package/dist/benchmark/index.js +20 -0
  30. package/dist/benchmark/index.js.map +1 -1
  31. package/dist/benchmark/pubsub-topic-sim-lib.d.ts +4 -0
  32. package/dist/benchmark/pubsub-topic-sim-lib.d.ts.map +1 -1
  33. package/dist/benchmark/pubsub-topic-sim-lib.js +58 -3
  34. package/dist/benchmark/pubsub-topic-sim-lib.js.map +1 -1
  35. package/dist/benchmark/pubsub-topic-sim.js +18 -0
  36. package/dist/benchmark/pubsub-topic-sim.js.map +1 -1
  37. package/dist/src/debounced-set.d.ts +1 -1
  38. package/dist/src/debounced-set.d.ts.map +1 -1
  39. package/dist/src/debounced-set.js +5 -1
  40. package/dist/src/debounced-set.js.map +1 -1
  41. package/dist/src/fanout-tree-codec.d.ts +330 -0
  42. package/dist/src/fanout-tree-codec.d.ts.map +1 -0
  43. package/dist/src/fanout-tree-codec.js +1209 -0
  44. package/dist/src/fanout-tree-codec.js.map +1 -0
  45. package/dist/src/fanout-tree-parent-upgrade.d.ts +117 -0
  46. package/dist/src/fanout-tree-parent-upgrade.d.ts.map +1 -0
  47. package/dist/src/fanout-tree-parent-upgrade.js +135 -0
  48. package/dist/src/fanout-tree-parent-upgrade.js.map +1 -0
  49. package/dist/src/fanout-tree.d.ts +241 -73
  50. package/dist/src/fanout-tree.d.ts.map +1 -1
  51. package/dist/src/fanout-tree.js +2224 -1050
  52. package/dist/src/fanout-tree.js.map +1 -1
  53. package/dist/src/index.d.ts +57 -0
  54. package/dist/src/index.d.ts.map +1 -1
  55. package/dist/src/index.js +293 -41
  56. package/dist/src/index.js.map +1 -1
  57. package/dist/src/topic-root-control-plane.d.ts +13 -0
  58. package/dist/src/topic-root-control-plane.d.ts.map +1 -1
  59. package/dist/src/topic-root-control-plane.js +45 -0
  60. package/dist/src/topic-root-control-plane.js.map +1 -1
  61. package/package.json +7 -7
  62. package/src/debounced-set.ts +5 -0
  63. package/src/fanout-tree-codec.ts +1580 -0
  64. package/src/fanout-tree-parent-upgrade.ts +353 -0
  65. package/src/fanout-tree.ts +4467 -2204
  66. package/src/index.ts +392 -56
  67. package/src/topic-root-control-plane.ts +48 -0
@@ -0,0 +1,183 @@
1
+ const PARENT_UPGRADE_RUNTIME_OPTION_KEYS = [
2
+ "parentUpgradeIntervalMs",
3
+ "parentUpgradeLeafOnly",
4
+ "parentUpgradeMinLevelGain",
5
+ "parentUpgradeRootMinLevelGain",
6
+ "parentUpgradeRootMinSubtreeGain",
7
+ "parentUpgradeNonRootMinLevelGain",
8
+ "parentUpgradeMinFreeSlots",
9
+ "parentUpgradeRootMinFreeSlots",
10
+ "parentUpgradeMaxChildLoadRatio",
11
+ "parentUpgradeRootMaxChildLoadRatio",
12
+ "parentUpgradeCooldownMs",
13
+ "parentUpgradeFailedBackoffMinMs",
14
+ "parentUpgradeFailedBackoffMaxMs",
15
+ "parentUpgradeQuietMs",
16
+ "parentUpgradeRepairQuietMs",
17
+ "parentUpgradeMaxPerPeer",
18
+ "parentUpgradeRepairGuard",
19
+ "parentUpgradeDataGuard",
20
+ "parentUpgradeMode",
21
+ "parentUpgradeVerifyStaleRootCapacity",
22
+ "parentUpgradeStaleRootProbeProbability",
23
+ "parentProbeTimeoutMs",
24
+ "parentProbeMaxPerRound",
25
+ "parentProbeMaxLagMessages",
26
+ "parentProbeRejectCooldownMs",
27
+ "parentProbeRejectCooldownMaxMs",
28
+ "parentShadowObserveMs",
29
+ "parentShadowMinObservations",
30
+ "parentShadowDualPathMs",
31
+ "parentShadowDualPathMinMessages",
32
+ ];
33
+ export const DEFAULT_CANDIDATE_PRESET = "default-candidate";
34
+ export const DEFAULT_PARENT_UPGRADE_SEEDS = [1, 2, 3];
35
+ export const DEFAULT_PARENT_UPGRADE_SEED_CSV = DEFAULT_PARENT_UPGRADE_SEEDS.join(",");
36
+ export const DEFAULT_PARENT_UPGRADE_FAST_SEED_CSV = "1";
37
+ const RAW_STALE_ROOT_PROBE_PROBABILITY = 0.015625;
38
+ const DEFAULT_CANDIDATE_STALE_ROOT_PROBE_PROBABILITY = 0.00390625;
39
+ export const PARENT_UPGRADE_FRONTIER_ROOT_CAPS = [
40
+ "0.2",
41
+ "0.225",
42
+ "0.25",
43
+ "0.4",
44
+ ];
45
+ export const PARENT_UPGRADE_HELP_TEXT = [
46
+ " --parentUpgradePreset NAME preset to evaluate (raw|default-candidate, default: raw)",
47
+ " --parentUpgradeIntervalMs MS upgrade check interval for treatment run (default: 1000)",
48
+ " --parentUpgradeLeafOnly 0|1 restrict treatment upgrades to leaves (default: 1)",
49
+ " --parentUpgradeMinLevelGain N min tree-level gain for treatment upgrades (default: 2)",
50
+ " --parentUpgradeRootMinLevelGain N min tree-level gain for root treatment targets (default: 3)",
51
+ " --parentUpgradeRootMinSubtreeGain N min level-gain times local branch size for root treatment targets (default: parentUpgradeRootMinLevelGain)",
52
+ " --parentUpgradeNonRootMinLevelGain N min tree-level gain for non-root treatment targets (default: 2)",
53
+ " --parentUpgradeMinFreeSlots N min free slots for treatment upgrade targets (default: 8)",
54
+ " --parentUpgradeRootMinFreeSlots N min free slots for root treatment targets (default: parentUpgradeMinFreeSlots)",
55
+ " --parentUpgradeMaxChildLoadRatio R max child load ratio after accepting treatment child (default: 0.5)",
56
+ " --parentUpgradeRootMaxChildLoadRatio R max root child load ratio after accepting treatment child (default: min(parentUpgradeMaxChildLoadRatio, 0.4))",
57
+ " --parentUpgradeCooldownMs MS cooldown after successful treatment upgrades (default: 5000)",
58
+ " --parentUpgradeFailedBackoffMinMs MS initial backoff after failed probe/shadow rounds (default: 5000)",
59
+ " --parentUpgradeFailedBackoffMaxMs MS max backoff after failed probe/shadow rounds (default: 60000)",
60
+ " --parentUpgradeQuietMs MS min quiet time since parent data before upgrades (default: 5000)",
61
+ " --parentUpgradeRepairQuietMs MS min quiet time since repair before upgrades (default: parentUpgradeQuietMs)",
62
+ " --parentUpgradeMaxPerPeer N max successful treatment upgrades per peer, 0 = unlimited (default: 2)",
63
+ " --parentUpgradeRepairGuard 0|1 skip treatment upgrades while missing data (default: 1)",
64
+ " --parentUpgradeDataGuard 0|1 wait for finite channel completion before treatment upgrades (default: 1)",
65
+ " --parentUpgradeMode MODE treatment upgrade mode (direct|probe|shadow, default: preset-dependent)",
66
+ " --parentUpgradeVerifyStaleRootCapacity 0|1 allow shadow probes against tracker-full root (default: 1 for default-candidate, otherwise 0)",
67
+ " --parentUpgradeStaleRootProbeProbability R base sample for tracker-full root probes per peer (default: 0.015625, default-candidate: 0.00390625)",
68
+ " --parentProbeTimeoutMs MS timeout for probe-mode parent checks (default: 500)",
69
+ " --parentProbeMaxPerRound N max probe-mode candidates per upgrade check (default: 2)",
70
+ " --parentProbeMaxLagMessages N max sequence lag for probe-mode candidates (default: 0)",
71
+ " --parentProbeRejectCooldownMs MS cooldown after rejected parent probes (default: 10000)",
72
+ " --parentProbeRejectCooldownMaxMs MS max adaptive cooldown after rejected parent probes (default: 60000)",
73
+ " --parentShadowObserveMs MS min healthy shadow observation window before promotion (default: 2000)",
74
+ " --parentShadowMinObservations N min successful shadow observations before promotion (default: 2)",
75
+ " --parentShadowDualPathMs MS keep old parent during active-flow shadow cutover until candidate data is observed (default: 5000 for default-candidate, otherwise 0)",
76
+ " --parentShadowDualPathMinMessages N min candidate data messages before active-flow cutover (default: 32 for default-candidate, otherwise 1)",
77
+ ];
78
+ export const defaultCandidateArgs = (...args) => [
79
+ "--parentUpgradePreset",
80
+ DEFAULT_CANDIDATE_PRESET,
81
+ ...args,
82
+ ];
83
+ export const parentUpgradeRuntimeOptions = (config, enabled = true) => Object.fromEntries(PARENT_UPGRADE_RUNTIME_OPTION_KEYS.map((key) => [
84
+ key,
85
+ key === "parentUpgradeIntervalMs" && !enabled ? 0 : config[key],
86
+ ]));
87
+ export const parseBool01 = (value, fallback) => {
88
+ if (value === undefined)
89
+ return fallback;
90
+ return value === "1";
91
+ };
92
+ export const parseCsvNumbers = (value, fallback) => {
93
+ if (!value)
94
+ return [...fallback];
95
+ const parsed = value
96
+ .split(",")
97
+ .map((part) => Number(part.trim()))
98
+ .filter((part) => Number.isFinite(part));
99
+ return parsed.length > 0 ? parsed : [...fallback];
100
+ };
101
+ export const ratioLimit = (baseline, ratio, absoluteSlack = 1e-9) => Math.max(absoluteSlack, baseline * ratio + absoluteSlack);
102
+ export const avgFinite = (values) => {
103
+ const finite = values.filter((value) => Number.isFinite(value));
104
+ return finite.length === 0
105
+ ? NaN
106
+ : finite.reduce((sum, value) => sum + value, 0) / finite.length;
107
+ };
108
+ export const maxFinite = (values) => {
109
+ const finite = values.filter((value) => Number.isFinite(value));
110
+ return finite.length === 0 ? NaN : Math.max(...finite);
111
+ };
112
+ export const fmt = (value, digits = 2) => Number.isFinite(value) ? value.toFixed(digits) : "NaN";
113
+ export const parseParentUpgradePreset = (value) => {
114
+ const preset = value ?? "raw";
115
+ if (preset !== "raw" && preset !== DEFAULT_CANDIDATE_PRESET) {
116
+ throw new Error(`Unknown parent upgrade preset: ${preset}`);
117
+ }
118
+ return preset;
119
+ };
120
+ export const isDefaultCandidatePreset = (preset) => preset === DEFAULT_CANDIDATE_PRESET;
121
+ export const defaultEvidenceLimitsForPreset = (preset, harness) => {
122
+ const defaultCandidate = isDefaultCandidatePreset(preset);
123
+ return {
124
+ maxProbePerUpgrade: defaultCandidate ? (harness === "multi" ? 8 : 5) : 2,
125
+ maxRootChildrenDelta: defaultCandidate ? 2 : 4,
126
+ maxRootUploadPctDelta: 1,
127
+ };
128
+ };
129
+ export const parseParentUpgradePresetConfig = (get) => {
130
+ const parentUpgradePreset = parseParentUpgradePreset(get("--parentUpgradePreset"));
131
+ const defaultCandidate = isDefaultCandidatePreset(parentUpgradePreset);
132
+ const parentUpgradeQuietMs = Number(get("--parentUpgradeQuietMs") ?? 5_000);
133
+ const parentUpgradeMaxChildLoadRatio = Number(get("--parentUpgradeMaxChildLoadRatio") ?? 0.5);
134
+ const parentUpgradeRootMinLevelGain = Number(get("--parentUpgradeRootMinLevelGain") ?? 3);
135
+ const parentUpgradeMinFreeSlots = Number(get("--parentUpgradeMinFreeSlots") ?? 8);
136
+ const parentUpgradeRootMaxChildLoadRatio = Number(get("--parentUpgradeRootMaxChildLoadRatio") ??
137
+ Math.min(parentUpgradeMaxChildLoadRatio, 0.4));
138
+ const parentUpgradeModeRaw = get("--parentUpgradeMode");
139
+ const parentUpgradeMode = parentUpgradeModeRaw === "probe" || parentUpgradeModeRaw === "shadow"
140
+ ? parentUpgradeModeRaw
141
+ : parentUpgradeModeRaw === "direct"
142
+ ? "direct"
143
+ : defaultCandidate
144
+ ? "shadow"
145
+ : "direct";
146
+ return {
147
+ parentUpgradePreset,
148
+ parentUpgradeIntervalMs: Number(get("--parentUpgradeIntervalMs") ?? 1_000),
149
+ parentUpgradeLeafOnly: parseBool01(get("--parentUpgradeLeafOnly"), true),
150
+ parentUpgradeMinLevelGain: Number(get("--parentUpgradeMinLevelGain") ?? 2),
151
+ parentUpgradeRootMinLevelGain,
152
+ parentUpgradeRootMinSubtreeGain: Number(get("--parentUpgradeRootMinSubtreeGain") ?? parentUpgradeRootMinLevelGain),
153
+ parentUpgradeNonRootMinLevelGain: Number(get("--parentUpgradeNonRootMinLevelGain") ?? 2),
154
+ parentUpgradeMinFreeSlots,
155
+ parentUpgradeRootMinFreeSlots: Number(get("--parentUpgradeRootMinFreeSlots") ?? parentUpgradeMinFreeSlots),
156
+ parentUpgradeMaxChildLoadRatio,
157
+ parentUpgradeRootMaxChildLoadRatio,
158
+ parentUpgradeCooldownMs: Number(get("--parentUpgradeCooldownMs") ?? 5_000),
159
+ parentUpgradeFailedBackoffMinMs: Number(get("--parentUpgradeFailedBackoffMinMs") ?? 5_000),
160
+ parentUpgradeFailedBackoffMaxMs: Number(get("--parentUpgradeFailedBackoffMaxMs") ?? 60_000),
161
+ parentUpgradeQuietMs,
162
+ parentUpgradeRepairQuietMs: Number(get("--parentUpgradeRepairQuietMs") ?? parentUpgradeQuietMs),
163
+ parentUpgradeMaxPerPeer: Number(get("--parentUpgradeMaxPerPeer") ?? 2),
164
+ parentUpgradeRepairGuard: parseBool01(get("--parentUpgradeRepairGuard"), true),
165
+ parentUpgradeDataGuard: parseBool01(get("--parentUpgradeDataGuard"), true),
166
+ parentUpgradeMode,
167
+ parentUpgradeVerifyStaleRootCapacity: parseBool01(get("--parentUpgradeVerifyStaleRootCapacity"), defaultCandidate),
168
+ parentUpgradeStaleRootProbeProbability: Number(get("--parentUpgradeStaleRootProbeProbability") ??
169
+ (defaultCandidate
170
+ ? DEFAULT_CANDIDATE_STALE_ROOT_PROBE_PROBABILITY
171
+ : RAW_STALE_ROOT_PROBE_PROBABILITY)),
172
+ parentProbeTimeoutMs: Number(get("--parentProbeTimeoutMs") ?? 500),
173
+ parentProbeMaxPerRound: Number(get("--parentProbeMaxPerRound") ?? 2),
174
+ parentProbeMaxLagMessages: Number(get("--parentProbeMaxLagMessages") ?? 0),
175
+ parentProbeRejectCooldownMs: Number(get("--parentProbeRejectCooldownMs") ?? 10_000),
176
+ parentProbeRejectCooldownMaxMs: Number(get("--parentProbeRejectCooldownMaxMs") ?? 60_000),
177
+ parentShadowObserveMs: Number(get("--parentShadowObserveMs") ?? 2_000),
178
+ parentShadowMinObservations: Number(get("--parentShadowMinObservations") ?? 2),
179
+ parentShadowDualPathMs: Number(get("--parentShadowDualPathMs") ?? (defaultCandidate ? 5_000 : 0)),
180
+ parentShadowDualPathMinMessages: Number(get("--parentShadowDualPathMinMessages") ?? (defaultCandidate ? 32 : 1)),
181
+ };
182
+ };
183
+ //# sourceMappingURL=fanout-tree-parent-upgrade-preset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fanout-tree-parent-upgrade-preset.js","sourceRoot":"","sources":["../../benchmark/fanout-tree-parent-upgrade-preset.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export type FanoutTreeSimParams = {
7
7
  subscribers: number;
8
8
  relayFraction: number;
9
9
  messages: number;
10
+ secondBatchMessages: number;
11
+ secondBatchSettleMs: number;
10
12
  msgRate: number;
11
13
  msgSize: number;
12
14
  intervalMs: number;
@@ -44,12 +46,46 @@ export type FanoutTreeSimParams = {
44
46
  joinReqTimeoutMs: number;
45
47
  candidateShuffleTopK: number;
46
48
  candidateScoringMode: "ranked-shuffle" | "ranked-strict" | "weighted";
49
+ parentUpgradeIntervalMs: number;
50
+ parentUpgradeLeafOnly: boolean;
51
+ parentUpgradeMinLevelGain: number;
52
+ parentUpgradeRootMinLevelGain: number;
53
+ parentUpgradeRootMinSubtreeGain: number;
54
+ parentUpgradeNonRootMinLevelGain: number;
55
+ parentUpgradeMinFreeSlots: number;
56
+ parentUpgradeRootMinFreeSlots: number;
57
+ parentUpgradeMaxChildLoadRatio: number;
58
+ parentUpgradeRootMaxChildLoadRatio: number;
59
+ parentUpgradeCooldownMs: number;
60
+ parentUpgradeFailedBackoffMinMs: number;
61
+ parentUpgradeFailedBackoffMaxMs: number;
62
+ parentUpgradeQuietMs: number;
63
+ parentUpgradeRepairQuietMs: number;
64
+ parentUpgradeMaxPerPeer: number;
65
+ parentUpgradeRepairGuard: boolean;
66
+ parentUpgradeDataGuard: boolean;
67
+ parentUpgradeMode: "direct" | "probe" | "shadow";
68
+ parentUpgradeVerifyStaleRootCapacity: boolean;
69
+ parentUpgradeStaleRootProbeProbability: number;
70
+ parentProbeTimeoutMs: number;
71
+ parentProbeMaxPerRound: number;
72
+ parentProbeMaxLagMessages: number;
73
+ parentProbeRejectCooldownMs: number;
74
+ parentProbeRejectCooldownMaxMs: number;
75
+ parentShadowObserveMs: number;
76
+ parentShadowMinObservations: number;
77
+ parentShadowDualPathMs: number;
78
+ parentShadowDualPathMinMessages: number;
47
79
  bootstrapEnsureIntervalMs: number;
48
80
  trackerQueryIntervalMs: number;
49
81
  joinAttemptsPerRound: number;
50
82
  candidateCooldownMs: number;
51
83
  joinPhases: boolean;
52
84
  joinPhaseSettleMs: number;
85
+ lateRootConnectAfterMs: number;
86
+ lateRootDuringPublish: boolean;
87
+ lateRootMaxChildren: number;
88
+ lateRootConnectFraction: number;
53
89
  maxLatencySamples: number;
54
90
  profile: boolean;
55
91
  progress: boolean;
@@ -70,6 +106,8 @@ export type FanoutTreeSimParams = {
70
106
  assertAttachP95Ms: number;
71
107
  assertMaxTreeLevelP95: number;
72
108
  assertMaxFormationScore: number;
109
+ assertMinReparentUpgradeTotal: number;
110
+ assertMinActiveShadowPromoteTotal: number;
73
111
  assertMaxOrphans: number;
74
112
  assertRecoveryP95Ms: number;
75
113
  assertMaxReparentsPerMin: number;
@@ -108,6 +146,17 @@ export type FanoutTreeSimResult = {
108
146
  deliveredWithinDeadline: number;
109
147
  deliveredWithinDeadlinePct: number;
110
148
  duplicates: number;
149
+ secondBatchExpected: number;
150
+ secondBatchDelivered: number;
151
+ secondBatchDeliveredPct: number;
152
+ secondBatchDeliveredWithinDeadline: number;
153
+ secondBatchDeliveredWithinDeadlinePct: number;
154
+ secondBatchLatencySamples: number;
155
+ secondBatchLatencyP50: number;
156
+ secondBatchLatencyP95: number;
157
+ secondBatchLatencyP99: number;
158
+ secondBatchLatencyMax: number;
159
+ secondBatchLatencyP95ByHash: Record<string, number>;
111
160
  latencySamples: number;
112
161
  latencyP50: number;
113
162
  latencyP95: number;
@@ -125,6 +174,53 @@ export type FanoutTreeSimResult = {
125
174
  reparentDisconnectTotal: number;
126
175
  reparentStaleTotal: number;
127
176
  reparentKickedTotal: number;
177
+ publishActiveReparentUpgradeTotal: number;
178
+ publishActiveReparentUpgradeSkipDataTotal: number;
179
+ publishActiveReparentUpgradeSkipRepairTotal: number;
180
+ publishActiveReparentUpgradeSkipQuietTotal: number;
181
+ publishActiveParentProbeReqSentTotal: number;
182
+ publishActiveParentShadowStartTotal: number;
183
+ publishActiveParentShadowPromoteTotal: number;
184
+ reparentUpgradeTotal: number;
185
+ upgradedPeerHashes: string[];
186
+ upgradedBranchPeerHashes: string[];
187
+ reparentUpgradeSkipLeafTotal: number;
188
+ reparentUpgradeSkipRepairTotal: number;
189
+ reparentUpgradeSkipDataTotal: number;
190
+ reparentUpgradeSkipCooldownTotal: number;
191
+ reparentUpgradeSkipQuietTotal: number;
192
+ reparentUpgradeSkipBudgetTotal: number;
193
+ reparentUpgradeSkipCandidateLevelTotal: number;
194
+ reparentUpgradeSkipCandidateSlotsTotal: number;
195
+ reparentUpgradeSkipCandidatePressureTotal: number;
196
+ reparentUpgradeSkipRootPressureTotal: number;
197
+ reparentUpgradeSkipProbeNoReplyTotal: number;
198
+ reparentUpgradeSkipProbeNotRootedTotal: number;
199
+ reparentUpgradeSkipProbeRepairTotal: number;
200
+ reparentUpgradeSkipProbeLagTotal: number;
201
+ reparentUpgradeSkipProbeOverloadedTotal: number;
202
+ reparentUpgradeSkipProbeCooldownTotal: number;
203
+ parentProbeReqSentTotal: number;
204
+ parentProbeReqReceivedTotal: number;
205
+ parentProbeReplySentTotal: number;
206
+ parentProbeReplyReceivedTotal: number;
207
+ parentUpgradeRootReservationCreatedTotal: number;
208
+ parentUpgradeRootReservationConsumedTotal: number;
209
+ parentUpgradeRootReservationRejectedTotal: number;
210
+ parentUpgradeRootReservationMarginRejectedTotal: number;
211
+ parentUpgradeRootReservationBlockedTotal: number;
212
+ parentUpgradeRootReservationExpiredTotal: number;
213
+ parentShadowStartTotal: number;
214
+ parentShadowObserveTotal: number;
215
+ parentShadowPromoteTotal: number;
216
+ parentShadowResetTotal: number;
217
+ parentShadowRejectNoReplyTotal: number;
218
+ parentShadowRejectNotRootedTotal: number;
219
+ parentShadowRejectCapacityTotal: number;
220
+ parentShadowRejectRepairTotal: number;
221
+ parentShadowRejectLagTotal: number;
222
+ parentShadowRejectOverloadedTotal: number;
223
+ parentShadowRejectLevelTotal: number;
128
224
  treeMaxLevel: number;
129
225
  treeLevelP95: number;
130
226
  treeLevelAvg: number;
@@ -135,6 +231,8 @@ export type FanoutTreeSimResult = {
135
231
  maxUploadBps: number;
136
232
  maxUploadFracPct: number;
137
233
  maxUploadNode?: string;
234
+ rootUploadBps: number;
235
+ rootUploadFracPct: number;
138
236
  streamQueuedBytesTotal: number;
139
237
  streamQueuedBytesMax: number;
140
238
  streamQueuedBytesP95: number;
@@ -176,6 +274,9 @@ export type FanoutTreeSimResult = {
176
274
  protocolRepairReqSent: number;
177
275
  protocolFetchReqSent: number;
178
276
  protocolIHaveSent: number;
277
+ protocolTrackerAnnounceSent: number;
278
+ protocolTrackerQuerySent: number;
279
+ protocolTrackerReplySent: number;
179
280
  protocolTrackerFeedbackSent: number;
180
281
  protocolCacheHitsServed: number;
181
282
  protocolHoleFillsFromNeighbor: number;
@@ -1 +1 @@
1
- {"version":3,"file":"fanout-tree-sim-lib.d.ts","sourceRoot":"","sources":["../../benchmark/fanout-tree-sim-lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fanout-tree-sim-lib.d.ts","sourceRoot":"","sources":["../../benchmark/fanout-tree-sim-lib.ts"],"names":[],"mappings":"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"}