net: refactor to use more primordials

PR-URL: https://github.com/nodejs/node/pull/36303
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
pull/36434/head
Antoine du Hamel 2020-11-18 00:19:12 +01:00 committed by James M Snell
parent 5f1bf80b5e
commit 0869b829fa
No known key found for this signature in database
GPG Key ID: 7341B15C070877AC
2 changed files with 18 additions and 12 deletions

View File

@ -2,6 +2,7 @@
const {
RegExp,
RegExpPrototypeTest,
Symbol,
} = primordials;
@ -28,11 +29,11 @@ const IPv6Reg = new RegExp('^(' +
')(%[0-9a-zA-Z-.:]{1,})?$');
function isIPv4(s) {
return IPv4Reg.test(s);
return RegExpPrototypeTest(IPv4Reg, s);
}
function isIPv6(s) {
return IPv6Reg.test(s);
return RegExpPrototypeTest(IPv6Reg, s);
}
function isIP(s) {

View File

@ -23,8 +23,13 @@
const {
ArrayIsArray,
ArrayPrototypeIndexOf,
ArrayPrototypePush,
ArrayPrototypeSplice,
Boolean,
Error,
FunctionPrototype,
FunctionPrototypeCall,
Number,
NumberIsNaN,
NumberParseInt,
@ -127,7 +132,7 @@ const DEFAULT_IPV6_ADDR = '::';
const isWindows = process.platform === 'win32';
function noop() {}
const noop = FunctionPrototype;
function getFlags(ipv6Only) {
return ipv6Only === true ? TCPConstants.UV_TCP_IPV6ONLY : 0;
@ -300,7 +305,7 @@ function Socket(options) {
options.autoDestroy = true;
// Handle strings directly.
options.decodeStrings = false;
stream.Duplex.call(this, options);
ReflectApply(stream.Duplex, this, [options]);
if (options.handle) {
this._handle = options.handle; // private
@ -581,7 +586,7 @@ Socket.prototype._read = function(n) {
Socket.prototype.end = function(data, encoding, callback) {
stream.Duplex.prototype.end.call(this, data, encoding, callback);
ReflectApply(stream.Duplex.prototype.end, this, [data, encoding, callback]);
DTRACE_NET_STREAM_END(this);
return this;
};
@ -597,7 +602,7 @@ Socket.prototype.pause = function() {
this.destroy(errnoException(err, 'read'));
}
}
return stream.Duplex.prototype.pause.call(this);
return FunctionPrototypeCall(stream.Duplex.prototype.pause, this);
};
@ -606,7 +611,7 @@ Socket.prototype.resume = function() {
!this._handle.reading) {
tryReadStart(this);
}
return stream.Duplex.prototype.resume.call(this);
return FunctionPrototypeCall(stream.Duplex.prototype.resume, this);
};
@ -615,7 +620,7 @@ Socket.prototype.read = function(n) {
!this._handle.reading) {
tryReadStart(this);
}
return stream.Duplex.prototype.read.call(this, n);
return ReflectApply(stream.Duplex.prototype.read, this, [n]);
};
@ -1148,7 +1153,7 @@ function Server(options, connectionListener) {
if (!(this instanceof Server))
return new Server(options, connectionListener);
EventEmitter.call(this);
FunctionPrototypeCall(EventEmitter, this);
if (typeof options === 'function') {
connectionListener = options;
@ -1659,10 +1664,10 @@ ObjectDefineProperty(Socket.prototype, '_handle', {
Server.prototype._setupWorker = function(socketList) {
this._usingWorkers = true;
this._workers.push(socketList);
ArrayPrototypePush(this._workers, socketList);
socketList.once('exit', (socketList) => {
const index = this._workers.indexOf(socketList);
this._workers.splice(index, 1);
const index = ArrayPrototypeIndexOf(this._workers, socketList);
ArrayPrototypeSplice(this._workers, index, 1);
});
};