@componentor/fs 3.0.51 → 3.0.53
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/index.d.mts +23 -0
- package/dist/index.js +86 -11
- package/dist/index.js.map +1 -1
- package/dist/workers/async-relay.worker.js +5 -2
- package/dist/workers/async-relay.worker.js.map +1 -1
- package/dist/workers/server.worker.js.map +1 -1
- package/dist/workers/sync-relay.worker.js +17 -2
- package/dist/workers/sync-relay.worker.js.map +1 -1
- package/package.json +1 -1
- package/readme.md +38 -0
|
@@ -2469,8 +2469,11 @@ var SAB_OFFSETS = {
|
|
|
2469
2469
|
// BigUint64 - full data size across all chunks
|
|
2470
2470
|
CHUNK_IDX: 24,
|
|
2471
2471
|
// Int32 - 0-based chunk index
|
|
2472
|
-
|
|
2473
|
-
// Int32 -
|
|
2472
|
+
HEARTBEAT: 28,
|
|
2473
|
+
// Int32 - liveness counter; the relay worker bumps this ~1×/s
|
|
2474
|
+
// while its event loop is alive (incl. mid-await of a
|
|
2475
|
+
// long op) so a spin-waiting main thread can tell
|
|
2476
|
+
// "slow" from "dead". Never written by the main thread.
|
|
2474
2477
|
HEADER_SIZE: 32
|
|
2475
2478
|
// Data payload starts here
|
|
2476
2479
|
};
|
|
@@ -2538,6 +2541,15 @@ var asyncSab = null;
|
|
|
2538
2541
|
var asyncCtrl = null;
|
|
2539
2542
|
var tabId = "";
|
|
2540
2543
|
var HEADER_SIZE = SAB_OFFSETS.HEADER_SIZE;
|
|
2544
|
+
var HEARTBEAT_INDEX = SAB_OFFSETS.HEARTBEAT >> 2;
|
|
2545
|
+
var HEARTBEAT_INTERVAL_MS = 1e3;
|
|
2546
|
+
var heartbeatTimer = null;
|
|
2547
|
+
function startHeartbeat() {
|
|
2548
|
+
if (heartbeatTimer !== null || !ctrl) return;
|
|
2549
|
+
heartbeatTimer = setInterval(() => {
|
|
2550
|
+
Atomics.add(ctrl, HEARTBEAT_INDEX, 1);
|
|
2551
|
+
}, HEARTBEAT_INTERVAL_MS);
|
|
2552
|
+
}
|
|
2541
2553
|
var clientPorts = /* @__PURE__ */ new Map();
|
|
2542
2554
|
var portQueue = [];
|
|
2543
2555
|
var yieldChannel = new MessageChannel();
|
|
@@ -3744,6 +3756,7 @@ self.onmessage = async (e) => {
|
|
|
3744
3756
|
readySab = msg.readySab;
|
|
3745
3757
|
ctrl = new Int32Array(sab, 0, 8);
|
|
3746
3758
|
readySignal = new Int32Array(readySab, 0, 1);
|
|
3759
|
+
startHeartbeat();
|
|
3747
3760
|
}
|
|
3748
3761
|
if (msg.asyncSab) {
|
|
3749
3762
|
asyncSab = msg.asyncSab;
|
|
@@ -3782,6 +3795,7 @@ self.onmessage = async (e) => {
|
|
|
3782
3795
|
readySab = msg.readySab;
|
|
3783
3796
|
ctrl = new Int32Array(sab, 0, 8);
|
|
3784
3797
|
readySignal = new Int32Array(readySab, 0, 1);
|
|
3798
|
+
startHeartbeat();
|
|
3785
3799
|
}
|
|
3786
3800
|
if (msg.asyncSab) {
|
|
3787
3801
|
asyncSab = msg.asyncSab;
|
|
@@ -3818,6 +3832,7 @@ self.onmessage = async (e) => {
|
|
|
3818
3832
|
readySab = msg.readySab;
|
|
3819
3833
|
ctrl = new Int32Array(sab, 0, 8);
|
|
3820
3834
|
readySignal = new Int32Array(readySab, 0, 1);
|
|
3835
|
+
startHeartbeat();
|
|
3821
3836
|
}
|
|
3822
3837
|
if (msg.asyncSab) {
|
|
3823
3838
|
asyncSab = msg.asyncSab;
|