diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-11-09 19:26:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-09 19:26:17 +0100 |
commit | 375ce63c6390cf7710210ce22f14a2b5a02cbfc3 (patch) | |
tree | 85100876e5e0b50514385ae3c7ce08493c82b38b /runtime/js | |
parent | 1eae6c139ee1dac28df57d67d993792b773fa1ff (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.js | 6 |
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 |