summaryrefslogtreecommitdiff
path: root/test/parallel/test-net-server-nodelay.js
blob: a7f11475abe2d74edba82218cfd7f8eabf4cdcea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
'use strict';
const common = require('../common');
const assert = require('assert');
const net = require('net');

const server = net.createServer({
  noDelay: true
}, common.mustCall((socket) => {
  socket._handle.setNoDelay = common.mustNotCall();
  socket.setNoDelay(true);
  socket.destroy();
  server.close();
})).listen(0, common.mustCall(() => {
  net.connect(server.address().port);
}));

const onconnection = server._handle.onconnection;
server._handle.onconnection = common.mustCall((err, clientHandle) => {
  const setNoDelay = clientHandle.setNoDelay;
  clientHandle.setNoDelay = common.mustCall((enable) => {
    assert.strictEqual(enable, server.noDelay);
    setNoDelay.call(clientHandle, enable);
    clientHandle.setNoDelay = setNoDelay;
  });
  onconnection.call(server._handle, err, clientHandle);
});