1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-29 02:29:06 -05:00
denoland-deno/cli/bench/node_tcp_promise.js
Valentin Anger 31f32ed8c4
Move benchmarks to Rust (#7134)
All benchmarks are done in Rust and can be invoked with
`cargo bench`.

Currently this has it's own "harness" that behaves like
`./tools/benchmark.py` did.
Because of this tests inside `cli/bench` are currently not run.
This should be switched to the language provided harness
once the `#[bench]` attribute has been stabilized.
2020-08-28 09:03:50 -04:00

25 lines
637 B
JavaScript

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
// Note: this is a keep-alive server.
const { Server } = require("net");
const port = process.argv[2] || "4544";
console.log("port", port);
const response = Buffer.from(
"HTTP/1.1 200 OK\r\nContent-Length: 12\r\n\r\nHello World\n",
);
function write(socket, buffer) {
const p = new Promise((resolve, _) => {
socket.write(buffer, resolve);
});
return Promise.resolve(p);
}
Server(async (socket) => {
socket.on("error", (_) => {
socket.destroy();
});
for await (const _ of socket) {
await write(socket, response);
}
}).listen(port);