mirror of https://github.com/nodejs/node.git
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
parent
5f1bf80b5e
commit
0869b829fa
|
@ -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) {
|
||||
|
|
25
lib/net.js
25
lib/net.js
|
@ -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);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue