mirror of https://github.com/lukechilds/node.git
Browse Source
discussion: http://groups.google.com/group/nodejs/browse_thread/thread/11a920da4d0ed21dv0.7.4-release
Ryan
16 years ago
3 changed files with 79 additions and 6 deletions
@ -0,0 +1,57 @@ |
|||||
|
include("mjsunit.js"); |
||||
|
PORT = 20444; |
||||
|
N = 30*1024; // 500kb
|
||||
|
|
||||
|
puts("build big string"); |
||||
|
var body = ""; |
||||
|
for (var i = 0; i < N; i++) { |
||||
|
body += "C"; |
||||
|
} |
||||
|
|
||||
|
puts("start server on port " + PORT); |
||||
|
|
||||
|
server = node.tcp.createServer(function (connection) { |
||||
|
connection.addListener("connect", function () { |
||||
|
connection.send(body); |
||||
|
connection.fullClose(); |
||||
|
}); |
||||
|
}); |
||||
|
server.listen(PORT); |
||||
|
|
||||
|
|
||||
|
chars_recved = 0; |
||||
|
npauses = 0; |
||||
|
|
||||
|
|
||||
|
function onLoad () { |
||||
|
var paused = false; |
||||
|
client = node.tcp.createConnection(PORT); |
||||
|
client.setEncoding("ascii"); |
||||
|
client.addListener("receive", function (d) { |
||||
|
chars_recved += d.length; |
||||
|
puts("got " + chars_recved); |
||||
|
if (!paused) { |
||||
|
client.readPause(); |
||||
|
npauses += 1; |
||||
|
paused = true; |
||||
|
puts("pause"); |
||||
|
x = chars_recved; |
||||
|
setTimeout(function () { |
||||
|
assertEquals(chars_recved, x); |
||||
|
client.readResume(); |
||||
|
puts("resume"); |
||||
|
paused = false; |
||||
|
}, 100); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
client.addListener("eof", function () { |
||||
|
server.close(); |
||||
|
client.close(); |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
function onExit () { |
||||
|
assertEquals(N, chars_recved); |
||||
|
assertTrue(npauses > 2); |
||||
|
} |
Loading…
Reference in new issue