summaryrefslogtreecommitdiff
path: root/core/examples/http_bench.js
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2020-01-11 10:49:16 +0100
committerGitHub <noreply@github.com>2020-01-11 10:49:16 +0100
commit0d0ad360d32c55869ef0a4d89d97dd83f4628c87 (patch)
tree384146d235962cd924f8521902c6925e26068ab1 /core/examples/http_bench.js
parent9d5f0f2d23b40470c557c50257ca792e6cd1595c (diff)
refactor: remove Isolate.current_send_cb_info and DenoBuf, port Isolate.shared_response_buf (#3643)
* remove Isolate.current_send_cb_info * remove DenoBuf * remove Isolate.shared_ab * port Isolate.shared_response_buf (last bit not ported from libdeno) * add some docs for Isolate and EsIsolate
Diffstat (limited to 'core/examples/http_bench.js')
-rw-r--r--core/examples/http_bench.js28
1 files changed, 13 insertions, 15 deletions
diff --git a/core/examples/http_bench.js b/core/examples/http_bench.js
index f553d4800..db57401cc 100644
--- a/core/examples/http_bench.js
+++ b/core/examples/http_bench.js
@@ -17,11 +17,15 @@ function assert(cond) {
}
function createResolvable() {
- let methods;
- const promise = new Promise((resolve, reject) => {
- methods = { resolve, reject };
+ let resolve;
+ let reject;
+ const promise = new Promise((res, rej) => {
+ resolve = res;
+ reject = rej;
});
- return Object.assign(promise, methods);
+ promise.resolve = resolve;
+ promise.reject = reject;
+ return promise;
}
const scratch32 = new Int32Array(3);
@@ -59,25 +63,19 @@ function sendAsync(opId, arg, zeroCopy = null) {
function sendSync(opId, arg) {
const buf = send(0, opId, arg);
const record = recordFromBuf(buf);
- return record.result;
+ return record[2];
}
function recordFromBuf(buf) {
assert(buf.byteLength === 3 * 4);
- const buf32 = new Int32Array(buf.buffer, buf.byteOffset, buf.byteLength / 4);
- return {
- promiseId: buf32[0],
- arg: buf32[1],
- result: buf32[2]
- };
+ return new Int32Array(buf.buffer, buf.byteOffset, buf.byteLength / 4);
}
function handleAsyncMsgFromRust(opId, buf) {
const record = recordFromBuf(buf);
- const { promiseId, result } = record;
- const p = promiseMap.get(promiseId);
- promiseMap.delete(promiseId);
- p.resolve(result);
+ const p = promiseMap.get(record[0]);
+ promiseMap.delete(record[0]);
+ p.resolve(record[2]);
}
/** Listens on 0.0.0.0:4500, returns rid. */