| 'use strict'; |
| const common = require('../common'); |
| |
| const assert = require('assert'); |
| const net = require('net'); |
| |
| const server = net.createServer(); |
| |
| server.on('connection', (socket) => { |
| let endEmitted = false; |
| |
| socket.once('readable', () => { |
| setTimeout(() => { |
| socket.read(); |
| }, common.platformTimeout(100)); |
| }); |
| socket.on('end', () => { |
| endEmitted = true; |
| }); |
| socket.on('close', () => { |
| assert(endEmitted); |
| server.close(); |
| }); |
| socket.end('foo'); |
| }); |
| |
| server.listen(common.mustCall(() => { |
| const socket = net.createConnection(server.address().port, () => { |
| socket.end('foo'); |
| }); |
| })); |