Add callback paramenter to socket.connect()
authorRyan Dahl <ry@tinyclouds.org>
Wed, 15 Dec 2010 23:57:13 +0000 (15:57 -0800)
committerRyan Dahl <ry@tinyclouds.org>
Wed, 15 Dec 2010 23:57:41 +0000 (15:57 -0800)
doc/api/net.markdown
lib/net.js
test/simple/test-net-connect-buffer.js

index 6146fd7..4e90568 100644 (file)
@@ -153,8 +153,8 @@ and passed to the user through the `'connection'` event of a server.
 
 `net.Stream` instances are EventEmitters with the following events:
 
-#### stream.connect(port, [host])
-#### stream.connect(path)
+#### stream.connect(port, [host], [callback])
+#### stream.connect(path, [callback])
 
 Opens the connection for a given stream. If `port` and `host` are given,
 then the stream will be opened as a TCP stream, if `host` is omitted,
@@ -170,6 +170,9 @@ stream is established. If there is a problem connecting, the `'connect'`
 event will not be emitted, the `'error'` event will be emitted with
 the exception.
 
+The `callback` paramenter will be added as an listener for the 'connect'
+event.
+
 
 #### stream.setEncoding(encoding=null)
 
index db491be..d299846 100644 (file)
@@ -638,6 +638,11 @@ Stream.prototype.connect = function() {
   self._connecting = true; // set false in doConnect
   self.writable = true;
 
+  var lastArg = arguments[arguments.length - 1];
+  if (typeof lastArg == 'function') {
+    self.addListener('connect', lastArg);
+  }
+
   var port = toPort(arguments[0]);
   if (port === false) {
     // UNIX
index 6e6bc88..4843f43 100644 (file)
@@ -33,10 +33,7 @@ tcp.listen(common.PORT, function () {
 
   console.log('Connecting to socket');
 
-  socket.connect(tcpPort);
-
-
-  socket.on('connect', function() {
+  socket.connect(tcpPort, function() {
     console.log('socket connected');
     connectHappened = true;
   });