summaryrefslogtreecommitdiff
path: root/core/examples/http_bench_json_ops.js
diff options
context:
space:
mode:
authorAaron O'Mullan <aaron.omullan@gmail.com>2021-03-31 16:37:38 +0200
committerGitHub <noreply@github.com>2021-03-31 10:37:38 -0400
commitfec1b2a5a4324a7eecdfbb2471931f3b6b0139c5 (patch)
tree8a650553c2d70e047d9d7365f9ac8702ec9861a5 /core/examples/http_bench_json_ops.js
parent6dc3549a818ad49b3907d18c93fd422a9cc743a5 (diff)
refactor: new optimized op-layer using serde_v8 (#9843)
- Improves op performance. - Handle op-metadata (errors, promise IDs) explicitly in the op-layer vs per op-encoding (aka: out-of-payload). - Remove shared queue & custom "asyncHandlers", all async values are returned in batches via js_recv_cb. - The op-layer should be thought of as simple function calls with little indirection or translation besides the conceptually straightforward serde_v8 bijections. - Preserve concepts of json/bin/min as semantic groups of their inputs/outputs instead of their op-encoding strategy, preserving these groups will also facilitate partial transitions over to v8 Fast API for the "min" and "bin" groups
Diffstat (limited to 'core/examples/http_bench_json_ops.js')
-rw-r--r--core/examples/http_bench_json_ops.js20
1 files changed, 8 insertions, 12 deletions
diff --git a/core/examples/http_bench_json_ops.js b/core/examples/http_bench_json_ops.js
index 071df100f..791fcc499 100644
--- a/core/examples/http_bench_json_ops.js
+++ b/core/examples/http_bench_json_ops.js
@@ -11,33 +11,29 @@ const responseBuf = new Uint8Array(
/** Listens on 0.0.0.0:4500, returns rid. */
function listen() {
- const { rid } = Deno.core.jsonOpSync("listen");
- return rid;
+ return Deno.core.jsonOpSync("listen");
}
/** Accepts a connection, returns rid. */
-async function accept(serverRid) {
- const { rid } = await Deno.core.jsonOpAsync("accept", { rid: serverRid });
- return rid;
+function accept(serverRid) {
+ return Deno.core.jsonOpAsync("accept", serverRid);
}
/**
* Reads a packet from the rid, presumably an http request. data is ignored.
* Returns bytes read.
*/
-async function read(rid, data) {
- const { nread } = await Deno.core.jsonOpAsync("read", { rid }, data);
- return nread;
+function read(rid, data) {
+ return Deno.core.jsonOpAsync("read", rid, data);
}
/** Writes a fixed HTTP response to the socket rid. Returns bytes written. */
-async function write(rid, data) {
- const { nwritten } = await Deno.core.jsonOpAsync("write", { rid }, data);
- return nwritten;
+function write(rid, data) {
+ return Deno.core.jsonOpAsync("write", rid, data);
}
function close(rid) {
- Deno.core.jsonOpSync("close", { rid });
+ Deno.core.jsonOpSync("close", rid);
}
async function serve(rid) {