mirror of https://github.com/lukechilds/node.git
Ryan Dahl
14 years ago
1 changed files with 61 additions and 0 deletions
@ -0,0 +1,61 @@ |
|||||
|
// Server sends a large string. Client counts bytes and pauses every few
|
||||
|
// seconds. Makes sure that pause and resume work properly.
|
||||
|
var common = require('../common'); |
||||
|
var assert = require('assert'); |
||||
|
var tls = require('tls'); |
||||
|
var fs = require('fs'); |
||||
|
|
||||
|
|
||||
|
var body = ''; |
||||
|
|
||||
|
process.stdout.write('build body...'); |
||||
|
for (var i = 0; i < 1024*1024; i++) { |
||||
|
body += 'hello world\n'; |
||||
|
} |
||||
|
process.stdout.write('done\n'); |
||||
|
|
||||
|
|
||||
|
var options = { |
||||
|
key: fs.readFileSync(common.fixturesDir + '/keys/agent2-key.pem'), |
||||
|
cert: fs.readFileSync(common.fixturesDir + '/keys/agent2-cert.pem') |
||||
|
}; |
||||
|
|
||||
|
var connections = 0; |
||||
|
|
||||
|
|
||||
|
var server = tls.Server(options, function(socket) { |
||||
|
socket.end(body); |
||||
|
connections++; |
||||
|
}); |
||||
|
|
||||
|
var recvCount = 0; |
||||
|
|
||||
|
server.listen(common.PORT, function() { |
||||
|
var client = tls.connect(common.PORT); |
||||
|
|
||||
|
client.on('data', function(d) { |
||||
|
recvCount += d.length; |
||||
|
|
||||
|
client.pause(); |
||||
|
process.nextTick(function () { |
||||
|
client.resume(); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
client.on('close', function() { |
||||
|
server.close(); |
||||
|
clearTimeout(timeout); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
var timeout = setTimeout(function() { |
||||
|
process.exit(1); |
||||
|
}, 10*1000); |
||||
|
|
||||
|
|
||||
|
process.on('exit', function() { |
||||
|
assert.equal(1, connections); |
||||
|
assert.equal(body.length, recvCount); |
||||
|
}); |
Loading…
Reference in new issue