@ai-ecoverse/slicc-kernel 1.25.0 → 1.26.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/README.md +3 -3
- package/dist/driver-worker.js +2 -1
- package/dist/driver-worker.js.map +2 -2
- package/dist/driver.js +2 -1
- package/dist/driver.js.map +2 -2
- package/dist/kernel-worker.js +84 -19
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-driver-worker.js +2 -1
- package/dist/node-driver-worker.js.map +2 -2
- package/dist/node-process-worker.js +18 -10
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +84 -19
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +18 -10
- package/dist/process-worker.js.map +2 -2
- package/package.json +1 -1
package/dist/process-worker.js
CHANGED
|
@@ -279,10 +279,12 @@ var init_ranged = __esm({
|
|
|
279
279
|
pages;
|
|
280
280
|
io;
|
|
281
281
|
pinned = false;
|
|
282
|
+
version;
|
|
282
283
|
path;
|
|
283
|
-
constructor(io, path, size) {
|
|
284
|
+
constructor(io, path, size, version) {
|
|
284
285
|
this.io = io;
|
|
285
286
|
this.path = path;
|
|
287
|
+
this.version = version;
|
|
286
288
|
this.pages = new Pages(size);
|
|
287
289
|
}
|
|
288
290
|
get changed() {
|
|
@@ -292,7 +294,9 @@ var init_ranged = __esm({
|
|
|
292
294
|
return this.pages.length;
|
|
293
295
|
}
|
|
294
296
|
fetch(runs) {
|
|
295
|
-
for (const [start, n] of runs)
|
|
297
|
+
for (const [start, n] of runs) {
|
|
298
|
+
this.pages.fill(start, this.io.pread(this.path, start, n, this.version));
|
|
299
|
+
}
|
|
296
300
|
}
|
|
297
301
|
read(at, length) {
|
|
298
302
|
this.fetch(this.pages.missing(at, length));
|
|
@@ -316,6 +320,7 @@ var init_ranged = __esm({
|
|
|
316
320
|
if (plan.shrink !== void 0) this.io.truncate(this.path, plan.shrink);
|
|
317
321
|
for (const run of plan.runs) this.io.pwrite(this.path, run.offset, run.bytes, true);
|
|
318
322
|
if (plan.extend !== void 0) this.io.truncate(this.path, plan.extend);
|
|
323
|
+
this.version = void 0;
|
|
319
324
|
this.pages.flushed();
|
|
320
325
|
}
|
|
321
326
|
pin() {
|
|
@@ -442,12 +447,12 @@ function createHelpers(Fs, ops) {
|
|
|
442
447
|
const bridge = bridgeOf(node);
|
|
443
448
|
const path = () => liveNodePath(node);
|
|
444
449
|
const io = {
|
|
445
|
-
pread: (_, at, n) => bridge.pread(path(), at, n),
|
|
450
|
+
pread: (_, at, n, version) => bridge.pread(path(), at, n, version),
|
|
446
451
|
pwrite: (_, at, bytes, transfer) => bridge.pwrite(path(), at, bytes, transfer),
|
|
447
452
|
truncate: (_, size) => bridge.truncate(path(), size)
|
|
448
453
|
};
|
|
449
454
|
const st = call2(() => bridge.stat(path()));
|
|
450
|
-
s.ranged = new RangedFile(io, path(), st.size);
|
|
455
|
+
s.ranged = new RangedFile(io, path(), st.size, st.version);
|
|
451
456
|
return s.ranged;
|
|
452
457
|
}
|
|
453
458
|
function ensureCapacity(node, need) {
|
|
@@ -1063,7 +1068,8 @@ function parseSyncFsStat(json) {
|
|
|
1063
1068
|
...typeof s.dev === "number" ? { dev: s.dev } : {},
|
|
1064
1069
|
...s.readonly === true ? { readonly: true } : {},
|
|
1065
1070
|
...typeof s.maxFile === "number" ? { maxFile: s.maxFile } : {},
|
|
1066
|
-
...s.ranged === true ? { ranged: true } : {}
|
|
1071
|
+
...s.ranged === true ? { ranged: true } : {},
|
|
1072
|
+
...typeof s.version === "string" ? { version: s.version } : {}
|
|
1067
1073
|
};
|
|
1068
1074
|
}
|
|
1069
1075
|
var SYNC_FS_REQUEST_TIMEOUT_MS;
|
|
@@ -1305,7 +1311,7 @@ function createSyncFsSabBridge(transport, opts = {}) {
|
|
|
1305
1311
|
run({ op: "hold", path, mode: held ? 1 : 0 }, path);
|
|
1306
1312
|
},
|
|
1307
1313
|
statfs: (path = "/") => parseSyncFsUsage(json({ op: "statfs", path }, path)),
|
|
1308
|
-
pread: (path, offset, length) => bytes({ op: "pread", path, offset, length }, path),
|
|
1314
|
+
pread: (path, offset, length, version) => bytes({ op: "pread", path, offset, length, ...version ? { version } : {} }, path),
|
|
1309
1315
|
pwrite: (path, offset, body, transfer) => {
|
|
1310
1316
|
const whole = body.byteOffset === 0 && body.byteLength === body.buffer.byteLength;
|
|
1311
1317
|
const owned = transfer && whole && body.buffer instanceof ArrayBuffer;
|
|
@@ -3810,14 +3816,14 @@ var init_wasi_files = __esm({
|
|
|
3810
3816
|
where;
|
|
3811
3817
|
ranged;
|
|
3812
3818
|
maxFile;
|
|
3813
|
-
constructor(fs, path, empty, maxFile, size) {
|
|
3819
|
+
constructor(fs, path, empty, maxFile, size, version) {
|
|
3814
3820
|
this.fs = fs;
|
|
3815
3821
|
this.where = path;
|
|
3816
3822
|
this.maxFile = maxFile;
|
|
3817
3823
|
const { pread, pwrite, truncate } = fs;
|
|
3818
3824
|
if (size !== void 0 && pread && pwrite && truncate) {
|
|
3819
3825
|
const io = { pread: pread.bind(fs), pwrite: pwrite.bind(fs), truncate: truncate.bind(fs) };
|
|
3820
|
-
this.ranged = new RangedFile(io, path, size);
|
|
3826
|
+
this.ranged = new RangedFile(io, path, size, version);
|
|
3821
3827
|
if (empty) this.truncate(0);
|
|
3822
3828
|
} else if (empty) {
|
|
3823
3829
|
this.data = new Uint8Array(0);
|
|
@@ -4527,8 +4533,10 @@ var init_wasi_fds = __esm({
|
|
|
4527
4533
|
} else {
|
|
4528
4534
|
if (!existing) this.fs.writeFile(path, new Uint8Array(0));
|
|
4529
4535
|
const empty = !existing || (oflags & OFLAGS.TRUNC) !== 0;
|
|
4530
|
-
|
|
4531
|
-
|
|
4536
|
+
if (existing?.ranged) this.fs.invalidate?.();
|
|
4537
|
+
const st = existing?.ranged || !existing ? this.fs.stat(path) : existing;
|
|
4538
|
+
const ranged = st.ranged ? st.size : void 0;
|
|
4539
|
+
buffer = new FileBuffer(this.fs, path, empty, st.maxFile, ranged, st.version);
|
|
4532
4540
|
this.buffers.set(path, buffer);
|
|
4533
4541
|
}
|
|
4534
4542
|
buffer.opens++;
|