summaryrefslogtreecommitdiff
path: root/test/parallel/test-net-server-pause-on-connect.js
blob: 0f47565f0098d0f9f331b25a09186d7d5e88c053 (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
27
28
29
30
31
32
33
34
35
36
37
38
var common = require('../common');
var assert = require('assert');
var net = require('net');
var msg = 'test';
var stopped = true;
var server1 = net.createServer({pauseOnConnect: true}, function(socket) {
  socket.on('data', function(data) {
    if (stopped) {
      assert(false, 'data event should not have happened yet');
    }

    assert.equal(data.toString(), msg, 'invalid data received');
    socket.end();
    server1.close();
  });

  setTimeout(function() {
    assert.equal(socket.bytesRead, 0, 'no data should have been read yet');
    socket.resume();
    stopped = false;
  }, 3000);
});

var server2 = net.createServer({pauseOnConnect: false}, function(socket) {
  socket.on('data', function(data) {
    assert.equal(data.toString(), msg, 'invalid data received');
    socket.end();
    server2.close();
  });
});

server1.listen(common.PORT, function() {
  net.createConnection({port: common.PORT}).write(msg);
});

server2.listen(common.PORT + 1, function() {
  net.createConnection({port: common.PORT + 1}).write(msg);
});