From e7f58868b5ea1312f7bac4f152f4d928b64e0202 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 7 Mar 2019 12:22:36 +0100 Subject: net: use kHandle symbol for accessing native handle Use a common `kHandle` for all `StreamBase`-based streams. PR-URL: https://github.com/nodejs/node/pull/26491 Reviewed-By: Colin Ihrig Reviewed-By: Joyee Cheung Reviewed-By: Sam Roberts Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Ruben Bridgewater --- lib/net.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'lib/net.js') diff --git a/lib/net.js b/lib/net.js index 2cb03b927f..8d69cbaf81 100644 --- a/lib/net.js +++ b/lib/net.js @@ -58,11 +58,11 @@ const { symbols: { async_id_symbol, owner_symbol } } = require('internal/async_hooks'); const { - createWriteWrap, writevGeneric, writeGeneric, onStreamRead, kAfterAsyncWrite, + kHandle, kUpdateTimer, setStreamTimeout } = require('internal/stream_base_commons'); @@ -233,7 +233,7 @@ function Socket(options) { // probably be supplied by async_hooks. this[async_id_symbol] = -1; this._hadError = false; - this._handle = null; + this[kHandle] = null; this._parent = null; this._host = null; this[kLastWriteQueueSize] = 0; @@ -689,11 +689,11 @@ Socket.prototype._writeGeneric = function(writev, data, encoding, cb) { this._unrefTimer(); - var req = createWriteWrap(this._handle); + let req; if (writev) - writevGeneric(this, req, data, cb); + req = writevGeneric(this, data, cb); else - writeGeneric(this, req, data, encoding, cb); + req = writeGeneric(this, data, encoding, cb); if (req.async) this[kLastWriteQueueSize] = req.bytes; }; @@ -1584,6 +1584,11 @@ Object.defineProperty(TCP.prototype, 'owner', { set(v) { return this[owner_symbol] = v; } }); +Object.defineProperty(Socket.prototype, '_handle', { + get() { return this[kHandle]; }, + set(v) { return this[kHandle] = v; } +}); + Server.prototype.listenFD = internalUtil.deprecate(function(fd, type) { return this.listen({ fd: fd }); -- cgit v1.2.3