1'use strict'; 2 3const common = require('../common'); 4const net = require('net'); 5 6function barrier(count, cb) { 7 return function() { 8 if (--count === 0) 9 cb(); 10 }; 11} 12 13const server = net.createServer(); 14server.listen(0, common.mustCall(function() { 15 const port = server.address().port; 16 const conn = net.createConnection(port); 17 const connok = barrier(2, () => conn.resetAndDestroy()); 18 conn.on('close', common.mustCall()); 19 server.on('connection', (socket) => { 20 connok(); 21 socket.on('error', common.expectsError({ 22 code: 'ECONNRESET', 23 message: 'read ECONNRESET', 24 name: 'Error' 25 })); 26 server.close(); 27 }); 28 conn.on('connect', connok); 29})); 30