summaryrefslogtreecommitdiff
path: root/lib/net.js
diff options
context:
space:
mode:
authorFedor Indutny <fedor@indutny.com>2016-04-26 16:27:08 -0400
committerFedor Indutny <fedor@indutny.com>2016-04-27 00:41:15 -0400
commitcee4c25c9281d106f80b20ba7854bf9003f9357a (patch)
tree9beb756c9ae2613dcbb284c8af7d4f603bc16971 /lib/net.js
parentcc5d9767af69c453dbb27d2fa09d8f2e8913774d (diff)
downloadandroid-node-v8-cee4c25c9281d106f80b20ba7854bf9003f9357a.tar.gz
android-node-v8-cee4c25c9281d106f80b20ba7854bf9003f9357a.tar.bz2
android-node-v8-cee4c25c9281d106f80b20ba7854bf9003f9357a.zip
net: introduce `Socket#connecting` property
There is no official way to figure out if the socket that you have on hand is still connecting to the remote host. Introduce `Socket#connecting`, which is essentially an unprefixed `_connecting` property that we already had. PR-URL: https://github.com/nodejs/node/pull/6404 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Diffstat (limited to 'lib/net.js')
-rw-r--r--lib/net.js35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/net.js b/lib/net.js
index c2b3f5500a..509112f58f 100644
--- a/lib/net.js
+++ b/lib/net.js
@@ -119,7 +119,7 @@ const BYTES_READ = Symbol('bytesRead');
function Socket(options) {
if (!(this instanceof Socket)) return new Socket(options);
- this._connecting = false;
+ this.connecting = false;
this._hadError = false;
this._handle = null;
this._parent = null;
@@ -202,7 +202,7 @@ Socket.prototype._unrefTimer = function unrefTimer() {
// so that only the writable side will be cleaned up.
function onSocketFinish() {
// If still connecting - defer handling 'finish' until 'connect' will happen
- if (this._connecting) {
+ if (this.connecting) {
debug('osF: not yet connected');
return this.once('connect', onSocketFinish);
}
@@ -367,9 +367,16 @@ Socket.prototype.address = function() {
};
+Object.defineProperty(Socket.prototype, '_connecting', {
+ get: function() {
+ return this.connecting;
+ }
+});
+
+
Object.defineProperty(Socket.prototype, 'readyState', {
get: function() {
- if (this._connecting) {
+ if (this.connecting) {
return 'opening';
} else if (this.readable && this.writable) {
return 'open';
@@ -397,7 +404,7 @@ Object.defineProperty(Socket.prototype, 'bufferSize', {
Socket.prototype._read = function(n) {
debug('_read');
- if (this._connecting || !this._handle) {
+ if (this.connecting || !this._handle) {
debug('_read wait for connection');
this.once('connect', () => this._read(n));
} else if (!this._handle.reading) {
@@ -430,7 +437,7 @@ function maybeDestroy(socket) {
if (!socket.readable &&
!socket.writable &&
!socket.destroyed &&
- !socket._connecting &&
+ !socket.connecting &&
!socket._writableState.length) {
socket.destroy();
}
@@ -465,7 +472,7 @@ Socket.prototype._destroy = function(exception, cb) {
return;
}
- this._connecting = false;
+ this.connecting = false;
this.readable = this.writable = false;
@@ -648,7 +655,7 @@ Socket.prototype._writeGeneric = function(writev, data, encoding, cb) {
// If we are still connecting, then buffer this for later.
// The Writable logic will buffer up any more writes while
// waiting for this one to be done.
- if (this._connecting) {
+ if (this.connecting) {
this._pendingData = data;
this._pendingEncoding = encoding;
this.once('connect', function() {
@@ -803,7 +810,7 @@ function connect(self, address, port, addressType, localAddress, localPort) {
// TODO return promise from Socket.prototype.connect which
// wraps _connectReq.
- assert.ok(self._connecting);
+ assert.ok(self.connecting);
var err;
@@ -913,7 +920,7 @@ Socket.prototype.connect = function(options, cb) {
this._unrefTimer();
- this._connecting = true;
+ this.connecting = true;
this.writable = true;
if (pipe) {
@@ -952,7 +959,7 @@ function lookupAndConnect(self, options) {
var addressType = exports.isIP(host);
if (addressType) {
process.nextTick(function() {
- if (self._connecting)
+ if (self.connecting)
connect(self, host, port, addressType, localAddress, localPort);
});
return;
@@ -980,7 +987,7 @@ function lookupAndConnect(self, options) {
// It's possible we were destroyed while looking this up.
// XXX it would be great if we could cancel the promise returned by
// the look up.
- if (!self._connecting) return;
+ if (!self.connecting) return;
if (err) {
// net.createConnection() creates a net.Socket object and
@@ -1048,8 +1055,8 @@ function afterConnect(status, handle, req, readable, writable) {
debug('afterConnect');
- assert.ok(self._connecting);
- self._connecting = false;
+ assert.ok(self.connecting);
+ self.connecting = false;
self._sockname = null;
if (status == 0) {
@@ -1065,7 +1072,7 @@ function afterConnect(status, handle, req, readable, writable) {
self.read(0);
} else {
- self._connecting = false;
+ self.connecting = false;
var details;
if (req.localAddress && req.localPort) {
details = req.localAddress + ':' + req.localPort;