diff options
Diffstat (limited to 'cli/bench/node_tcp_promise.js')
-rw-r--r-- | cli/bench/node_tcp_promise.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/cli/bench/node_tcp_promise.js b/cli/bench/node_tcp_promise.js new file mode 100644 index 000000000..36709d2b9 --- /dev/null +++ b/cli/bench/node_tcp_promise.js @@ -0,0 +1,25 @@ +// 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); |