mirror of https://github.com/lukechilds/node.git
Browse Source
* setTimeout() with no duration -> setImmediate() * add common.mustCall() where appropriate * var -> const * .on() -> .once() PR-URL: https://github.com/nodejs/node/pull/9715 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>v7.x
Rich Trott
8 years ago
committed by
Anna Henningsen
1 changed files with 22 additions and 25 deletions
@ -1,46 +1,43 @@ |
|||||
'use strict'; |
'use strict'; |
||||
var common = require('../common'); |
|
||||
var assert = require('assert'); |
const common = require('../common'); |
||||
|
|
||||
if (!common.hasCrypto) { |
if (!common.hasCrypto) { |
||||
common.skip('missing crypto'); |
common.skip('missing crypto'); |
||||
return; |
return; |
||||
} |
} |
||||
var tls = require('tls'); |
|
||||
|
|
||||
var net = require('net'); |
const assert = require('assert'); |
||||
var fs = require('fs'); |
const tls = require('tls'); |
||||
|
|
||||
|
const net = require('net'); |
||||
|
const fs = require('fs'); |
||||
|
|
||||
var options = { |
const options = { |
||||
key: fs.readFileSync(common.fixturesDir + '/test_key.pem'), |
key: fs.readFileSync(common.fixturesDir + '/test_key.pem'), |
||||
cert: fs.readFileSync(common.fixturesDir + '/test_cert.pem') |
cert: fs.readFileSync(common.fixturesDir + '/test_cert.pem') |
||||
}; |
}; |
||||
|
|
||||
var bonkers = Buffer.alloc(1024 * 1024, 42); |
const bonkers = Buffer.alloc(1024 * 1024, 42); |
||||
|
|
||||
var server = tls.createServer(options, function(c) { |
const server = tls.createServer(options, function(c) { |
||||
|
|
||||
}).listen(0, function() { |
}).listen(0, common.mustCall(function() { |
||||
var client = net.connect(this.address().port, function() { |
const client = net.connect(this.address().port, common.mustCall(function() { |
||||
client.write(bonkers); |
client.write(bonkers); |
||||
}); |
})); |
||||
|
|
||||
var once = false; |
const writeAgain = setImmediate(function() { |
||||
|
|
||||
var writeAgain = setTimeout(function() { |
|
||||
client.write(bonkers); |
client.write(bonkers); |
||||
}); |
}); |
||||
|
|
||||
client.on('error', function(err) { |
client.once('error', common.mustCall(function(err) { |
||||
if (!once) { |
clearImmediate(writeAgain); |
||||
clearTimeout(writeAgain); |
client.destroy(); |
||||
once = true; |
server.close(); |
||||
client.destroy(); |
})); |
||||
server.close(); |
|
||||
} |
|
||||
}); |
|
||||
|
|
||||
client.on('close', function(hadError) { |
client.on('close', common.mustCall(function(hadError) { |
||||
assert.strictEqual(hadError, true, 'Client never errored'); |
assert.strictEqual(hadError, true, 'Client never errored'); |
||||
}); |
})); |
||||
}); |
})); |
||||
|
Loading…
Reference in new issue