blob: 250670128e0e93aa5513ab7a0c9abc765deba107 [file] [log] [blame]
Ryan Dahlddc98932011-06-16 13:33:471var common = require('../common');
2var assert = require('assert');
3var TCP = process.binding('tcp_wrap').TCP;
4
5function makeConnection() {
6 var client = new TCP();
7
8 var req = client.connect('127.0.0.1', common.PORT);
9 req.oncomplete = function(status, client_, req_) {
10 assert.equal(0, status);
11 assert.equal(client, client_);
12 assert.equal(req, req_);
13
14 console.log("connected");
Ryan Dahl9696c272011-06-16 14:08:1715 var shutdownReq = client.shutdown();
16 shutdownReq.oncomplete = function(status, client_, req_) {
17 console.log("shutdown complete");
18 assert.equal(0, status);
19 assert.equal(client, client_);
20 assert.equal(shutdownReq, req_);
21 shutdownCount++;
22 client.close();
23 };
Ryan Dahlddc98932011-06-16 13:33:4724 };
25}
26
27/////
28
29var connectCount = 0;
30var endCount = 0;
Ryan Dahl9696c272011-06-16 14:08:1731var shutdownCount = 0;
Ryan Dahlddc98932011-06-16 13:33:4732
33var server = require('net').Server(function(s) {
34 console.log("got connection");
35 connectCount++;
36 s.on('end', function() {
37 console.log("got eof");
38 endCount++;
39 s.destroy();
40 server.close();
41 });
42});
43
44server.listen(common.PORT, makeConnection);
45
46process.on('exit', function() {
Ryan Dahl9696c272011-06-16 14:08:1747 assert.equal(1, shutdownCount);
Ryan Dahlddc98932011-06-16 13:33:4748 assert.equal(1, connectCount);
49 assert.equal(1, endCount);
50});