summaryrefslogtreecommitdiff
path: root/deps/node/benchmark/tls/secure-pair.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/node/benchmark/tls/secure-pair.js')
-rw-r--r--deps/node/benchmark/tls/secure-pair.js105
1 files changed, 0 insertions, 105 deletions
diff --git a/deps/node/benchmark/tls/secure-pair.js b/deps/node/benchmark/tls/secure-pair.js
deleted file mode 100644
index ed678b90..00000000
--- a/deps/node/benchmark/tls/secure-pair.js
+++ /dev/null
@@ -1,105 +0,0 @@
-'use strict';
-const common = require('../common.js');
-const bench = common.createBenchmark(main, {
- dur: [5],
- securing: ['SecurePair', 'TLSSocket'],
- size: [2, 1024, 1024 * 1024]
-});
-
-const fs = require('fs');
-const tls = require('tls');
-const net = require('net');
-const path = require('path');
-
-const cert_dir = path.resolve(__dirname, '../../test/fixtures');
-const REDIRECT_PORT = 28347;
-
-function main({ dur, size, securing }) {
- const chunk = Buffer.alloc(size, 'b');
-
- const options = {
- key: fs.readFileSync(`${cert_dir}/test_key.pem`),
- cert: fs.readFileSync(`${cert_dir}/test_cert.pem`),
- ca: [ fs.readFileSync(`${cert_dir}/test_ca.pem`) ],
- ciphers: 'AES256-GCM-SHA384',
- isServer: true,
- requestCert: true,
- rejectUnauthorized: true,
- };
-
- const server = net.createServer(onRedirectConnection);
- server.listen(REDIRECT_PORT, () => {
- const proxy = net.createServer(onProxyConnection);
- proxy.listen(common.PORT, () => {
- const clientOptions = {
- port: common.PORT,
- ca: options.ca,
- key: options.key,
- cert: options.cert,
- isServer: false,
- rejectUnauthorized: false,
- };
- const conn = tls.connect(clientOptions, () => {
- setTimeout(() => {
- const mbits = (received * 8) / (1024 * 1024);
- bench.end(mbits);
- if (conn)
- conn.destroy();
- server.close();
- proxy.close();
- }, dur * 1000);
- bench.start();
- conn.on('drain', write);
- write();
- });
- conn.on('error', (e) => {
- throw new Error(`Client error: ${e}`);
- });
-
- function write() {
- while (false !== conn.write(chunk));
- }
- });
- });
-
- function onProxyConnection(conn) {
- const client = net.connect(REDIRECT_PORT, () => {
- switch (securing) {
- case 'SecurePair':
- securePair(conn, client);
- break;
- case 'TLSSocket':
- secureTLSSocket(conn, client);
- break;
- default:
- throw new Error('Invalid securing method');
- }
- });
- }
-
- function securePair(conn, client) {
- const serverCtx = tls.createSecureContext(options);
- const serverPair = tls.createSecurePair(serverCtx, true, true, false);
- conn.pipe(serverPair.encrypted);
- serverPair.encrypted.pipe(conn);
- serverPair.on('error', (error) => {
- throw new Error(`Pair error: ${error}`);
- });
- serverPair.cleartext.pipe(client);
- }
-
- function secureTLSSocket(conn, client) {
- const serverSocket = new tls.TLSSocket(conn, options);
- serverSocket.on('error', (e) => {
- throw new Error(`Socket error: ${e}`);
- });
- serverSocket.pipe(client);
- }
-
- let received = 0;
- function onRedirectConnection(conn) {
- conn.on('data', (chunk) => {
- received += chunk.length;
- });
- }
-}