| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 583f334 commit baa0a3d
1 file changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,52 +1,51 @@ | |||
| 1 | 1 | 'use strict'; | |
| 2 | - var common = require('../common'); | ||
| 3 | - var assert = require('assert'); | ||
| 4 | - var net = require('net'); | ||
| 5 | - var msg = 'test'; | ||
| 2 | + const common = require('../common'); | ||
| 3 | + const assert = require('assert'); | ||
| 4 | + const net = require('net'); | ||
| 5 | + const msg = 'test'; | ||
| 6 | 6 | var stopped = true; | |
| 7 | - var server1 = net.createServer({pauseOnConnect: true}, function(socket) { | ||
| 7 | + var server1Sock; | ||
| 8 | + | ||
| 9 | + | ||
| 10 | + const server1ConnHandler = function(socket) { | ||
| 8 | 11 | socket.on('data', function(data) { | |
| 9 | 12 | if (stopped) { | |
| 10 | - assert(false, 'data event should not have happened yet'); | ||
| 13 | + common.fail('data event should not have happened yet'); | ||
| 11 | 14 | } | |
| 12 | 15 | ||
| 13 | 16 | assert.equal(data.toString(), msg, 'invalid data received'); | |
| 14 | 17 | socket.end(); | |
| 15 | 18 | server1.close(); | |
| 16 | 19 | }); | |
| 17 | 20 | ||
| 18 | - setTimeout(function() { | ||
| 19 | - // After 50(ish) ms, the other socket should have already read the data. | ||
| 20 | - assert.equal(read, true); | ||
| 21 | - assert.equal(socket.bytesRead, 0, 'no data should have been read yet'); | ||
| 21 | + server1Sock = socket; | ||
| 22 | + }; | ||
| 22 | 23 | ||
| 23 | - socket.resume(); | ||
| 24 | - stopped = false; | ||
| 25 | - }, common.platformTimeout(50)); | ||
| 26 | - }); | ||
| 24 | + const server1 = net.createServer({pauseOnConnect: true}, server1ConnHandler); | ||
| 27 | 25 | ||
| 28 | - // read is a timing check, as server1's timer should fire after server2's | ||
| 29 | - // connection receives the data. Note that this could be race-y. | ||
| 30 | - var read = false; | ||
| 31 | - var server2 = net.createServer({pauseOnConnect: false}, function(socket) { | ||
| 26 | + const server2ConnHandler = function(socket) { | ||
| 32 | 27 | socket.on('data', function(data) { | |
| 33 | - read = true; | ||
| 34 | - | ||
| 35 | 28 | assert.equal(data.toString(), msg, 'invalid data received'); | |
| 36 | 29 | socket.end(); | |
| 37 | 30 | server2.close(); | |
| 31 | + | ||
| 32 | + assert.equal(server1Sock.bytesRead, 0, 'no data should have been read yet'); | ||
| 33 | + server1Sock.resume(); | ||
| 34 | + stopped = false; | ||
| 38 | 35 | }); | |
| 39 | - }); | ||
| 36 | + }; | ||
| 40 | 37 | ||
| 41 | - server1.listen(common.PORT, function() { | ||
| 42 | - net.createConnection({port: common.PORT}).write(msg); | ||
| 43 | - }); | ||
| 38 | + const server2 = net.createServer({pauseOnConnect: false}, server2ConnHandler); | ||
| 44 | 39 | ||
| 45 | - server2.listen(common.PORT + 1, function() { | ||
| 46 | - net.createConnection({port: common.PORT + 1}).write(msg); | ||
| 40 | + server1.listen(common.PORT, function() { | ||
| 41 | + const clientHandler = common.mustCall(function() { | ||
| 42 | + server2.listen(common.PORT + 1, function() { | ||
| 43 | + net.createConnection({port: common.PORT + 1}).write(msg); | ||
| 44 | + }); | ||
| 45 | + }); | ||
| 46 | + net.createConnection({port: common.PORT}).write(msg, clientHandler); | ||
| 47 | 47 | }); | |
| 48 | 48 | ||
| 49 | 49 | process.on('exit', function() { | |
| 50 | 50 | assert.equal(stopped, false); | |
| 51 | - assert.equal(read, true); | ||
| 52 | 51 | }); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments