cross-tab-worker-databus 0.21.31 → 0.21.32
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/CHANGELOG.md +28 -0
- package/dist/centrifuge.js +1 -1
- package/dist/{chunk-M4RO3MVX.js → chunk-PNEOQX4O.js} +2 -38
- package/dist/chunk-PNEOQX4O.js.map +7 -0
- package/dist/cjs/centrifuge.cjs +1 -37
- package/dist/cjs/centrifuge.cjs.map +2 -2
- package/dist/cjs/index.cjs +1 -37
- package/dist/cjs/index.cjs.map +2 -2
- package/dist/core/cluster.d.ts +0 -1
- package/dist/core/cluster.d.ts.map +1 -1
- package/dist/core/trace.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/docs/architecture.md +1 -1
- package/docs/release-checklist.md +1 -1
- package/docs/roadmap.md +10 -2
- package/docs/zh/architecture.md +1 -1
- package/docs/zh/release-checklist.md +1 -1
- package/docs/zh/roadmap.md +10 -2
- package/package.json +1 -1
- package/dist/chunk-M4RO3MVX.js.map +0 -7
package/dist/cjs/index.cjs
CHANGED
|
@@ -767,19 +767,6 @@ var WorkerClusterRuntime = class {
|
|
|
767
767
|
this.routeOwnerCache.delete(oldest);
|
|
768
768
|
}
|
|
769
769
|
}
|
|
770
|
-
// Concrete topic → the local wildcard pattern that matched it, or `null` for
|
|
771
|
-
// "scanned, nothing matched". UNLIKE the reverse cache below, this map has no cap:
|
|
772
|
-
// it grows one entry per distinct topic this worker publishes, and is cleared only
|
|
773
|
-
// on the two lifecycle teardowns whose `routeOwnerCache.clear()` sits beside each
|
|
774
|
-
// `wildcardPublishCache.clear()`. Measured: 1,200 `publish()` calls on distinct
|
|
775
|
-
// topic names leave `knownTopics` at its 500-entry cap and this map holding 1,200.
|
|
776
|
-
// A cap is not free here, because both halves decide something. Evicting a pattern
|
|
777
|
-
// re-runs the first local dispatch the entry exists to prevent. Evicting a `null`
|
|
778
|
-
// re-scans, and if a wildcard was assigned in the meantime that publication
|
|
779
|
-
// dispatches locally instead of routing by owner — the fan-out a first publication
|
|
780
|
-
// gets. So bounding this map needs a rule about which of the two may be forgotten,
|
|
781
|
-
// not a number; until one is chosen the growth is the honest cost of the memo.
|
|
782
|
-
wildcardPublishCache = /* @__PURE__ */ new Map();
|
|
783
770
|
// Reverse mapping: opaque topicKey → plaintext topic. A bounded cache with
|
|
784
771
|
// FIFO eviction — NOT authoritative. It can hold a topicKey that is also in
|
|
785
772
|
// assignedTopics (the owned guard prevents evicting those), because it is
|
|
@@ -856,7 +843,6 @@ var WorkerClusterRuntime = class {
|
|
|
856
843
|
this.subscribedTopics.clear();
|
|
857
844
|
this.assignedTopics.clear();
|
|
858
845
|
this.routeOwnerCache.clear();
|
|
859
|
-
this.wildcardPublishCache.clear();
|
|
860
846
|
this.knownTopics.clear();
|
|
861
847
|
this.suspended = false;
|
|
862
848
|
}
|
|
@@ -924,7 +910,6 @@ var WorkerClusterRuntime = class {
|
|
|
924
910
|
this.handoffAssignedTopics();
|
|
925
911
|
this.assignedTopics.clear();
|
|
926
912
|
this.routeOwnerCache.clear();
|
|
927
|
-
this.wildcardPublishCache.clear();
|
|
928
913
|
this.removeStorage(this.workerStorageKey(this.workerId));
|
|
929
914
|
this.flushStorage();
|
|
930
915
|
this.notifyRegistry();
|
|
@@ -1031,16 +1016,6 @@ var WorkerClusterRuntime = class {
|
|
|
1031
1016
|
if (this.assignedTopics.has(topicKey)) {
|
|
1032
1017
|
return this.sendControl(this.workerId, CONTROL_ACTION.PUBLISH, topic, topicKey, data, metadata);
|
|
1033
1018
|
}
|
|
1034
|
-
const cachedPattern = this.wildcardPublishCache.get(topic);
|
|
1035
|
-
if (cachedPattern === void 0) {
|
|
1036
|
-
for (const pattern of this.assignedTopics.values()) {
|
|
1037
|
-
if (pattern !== topic && topicMatchesPattern(pattern, topic)) {
|
|
1038
|
-
this.wildcardPublishCache.set(topic, pattern);
|
|
1039
|
-
return this.sendControl(this.workerId, CONTROL_ACTION.PUBLISH, topic, topicKey, data, metadata);
|
|
1040
|
-
}
|
|
1041
|
-
}
|
|
1042
|
-
this.wildcardPublishCache.set(topic, null);
|
|
1043
|
-
}
|
|
1044
1019
|
return this.sendControl(this.resolvePublishTarget(topic, topicKey), CONTROL_ACTION.PUBLISH, topic, topicKey, data, metadata);
|
|
1045
1020
|
}
|
|
1046
1021
|
/**
|
|
@@ -1065,17 +1040,6 @@ var WorkerClusterRuntime = class {
|
|
|
1065
1040
|
this.dispatchLocalPublishBatch(topic, topicKey, items);
|
|
1066
1041
|
return true;
|
|
1067
1042
|
}
|
|
1068
|
-
const cachedPattern = this.wildcardPublishCache.get(topic);
|
|
1069
|
-
if (cachedPattern === void 0) {
|
|
1070
|
-
for (const pattern of this.assignedTopics.values()) {
|
|
1071
|
-
if (pattern !== topic && topicMatchesPattern(pattern, topic)) {
|
|
1072
|
-
this.wildcardPublishCache.set(topic, pattern);
|
|
1073
|
-
this.dispatchLocalPublishBatch(topic, topicKey, items);
|
|
1074
|
-
return true;
|
|
1075
|
-
}
|
|
1076
|
-
}
|
|
1077
|
-
this.wildcardPublishCache.set(topic, null);
|
|
1078
|
-
}
|
|
1079
1043
|
const target = this.resolvePublishTarget(topic, topicKey);
|
|
1080
1044
|
if (target === this.workerId) {
|
|
1081
1045
|
this.dispatchLocalPublishBatch(topic, topicKey, items);
|
|
@@ -2606,7 +2570,7 @@ var SDK_VERSION = (
|
|
|
2606
2570
|
// declaration's type is `string | undefined` and the export's is `string`
|
|
2607
2571
|
// (dropping the conditional is TS2322, measured). Recorded here so the leg reads
|
|
2608
2572
|
// as a shape the harness cannot reach rather than as a case nobody exercised.
|
|
2609
|
-
true ? "0.21.
|
|
2573
|
+
true ? "0.21.32" : ""
|
|
2610
2574
|
);
|
|
2611
2575
|
|
|
2612
2576
|
// src/core/data-bus.ts
|