summaryrefslogtreecommitdiff
path: root/runtime/js
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2021-11-09 19:26:17 +0100
committerGitHub <noreply@github.com>2021-11-09 19:26:17 +0100
commit375ce63c6390cf7710210ce22f14a2b5a02cbfc3 (patch)
tree85100876e5e0b50514385ae3c7ce08493c82b38b /runtime/js
parent1eae6c139ee1dac28df57d67d993792b773fa1ff (diff)
feat(core): streams (#12596)
This allows resources to be "streams" by implementing read/write/shutdown. These streams are implicit since their nature (read/write/duplex) isn't known until called, but we could easily add another method to explicitly tag resources as streams. `op_read/op_write/op_shutdown` are now builtin ops provided by `deno_core` Note: this current implementation is simple & straightforward but it results in an additional alloc per read/write call Closes #12556
Diffstat (limited to 'runtime/js')
-rw-r--r--runtime/js/12_io.js6
1 files changed, 3 insertions, 3 deletions
diff --git a/runtime/js/12_io.js b/runtime/js/12_io.js
index d5cf14e55..1dd162965 100644
--- a/runtime/js/12_io.js
+++ b/runtime/js/12_io.js
@@ -102,7 +102,7 @@
return 0;
}
- const nread = await core.opAsync("op_read_async", rid, buffer);
+ const nread = await core.read(rid, buffer);
return nread === 0 ? null : nread;
}
@@ -111,8 +111,8 @@
return core.opSync("op_write_sync", rid, data);
}
- async function write(rid, data) {
- return await core.opAsync("op_write_async", rid, data);
+ function write(rid, data) {
+ return core.write(rid, data);
}
const READ_PER_ITER = 16 * 1024; // 16kb, see https://github.com/denoland/deno/issues/10157