Move net2 bindings out of process
This commit is contained in:
parent
fdf46a65c9
commit
953fa3a5f5
@ -2,6 +2,8 @@ var sys = require('sys');
|
||||
var net = require('net');
|
||||
var events = require('events');
|
||||
|
||||
var HTTPParser = process.binding('http_parser').HTTPParser;
|
||||
|
||||
var CRLF = "\r\n";
|
||||
var STATUS_CODES = exports.STATUS_CODES = {
|
||||
100 : 'Continue',
|
||||
@ -315,7 +317,7 @@ function newParser (type) {
|
||||
parser = parserFreeList.shift();
|
||||
parser.reinitialize(type);
|
||||
} else {
|
||||
parser = new process.HTTPParser(type);
|
||||
parser = new HTTPParser(type);
|
||||
|
||||
parser.onMessageBegin = function () {
|
||||
parser.incoming = new IncomingMessage(parser.socket);
|
||||
|
53
lib/net.js
53
lib/net.js
@ -1,5 +1,7 @@
|
||||
var sys = require("sys");
|
||||
var fs = require("fs");
|
||||
var events = require("events");
|
||||
|
||||
var debugLevel = 0;
|
||||
if ('NODE_DEBUG' in process.ENV) debugLevel = 1;
|
||||
function debug (x) {
|
||||
@ -8,30 +10,33 @@ function debug (x) {
|
||||
}
|
||||
}
|
||||
|
||||
var binding = process.binding('net');
|
||||
|
||||
|
||||
var Buffer = process.Buffer;
|
||||
var IOWatcher = process.IOWatcher;
|
||||
var assert = process.assert;
|
||||
var socket = process.socket;
|
||||
var bind = process.bind;
|
||||
var connect = process.connect;
|
||||
var listen = process.listen;
|
||||
var accept = process.accept;
|
||||
var close = process.close;
|
||||
var shutdown = process.shutdown;
|
||||
var read = process.read;
|
||||
var recvMsg = process.recvMsg;
|
||||
var sendFD = process.sendFD;
|
||||
var write = process.write;
|
||||
var toRead = process.toRead;
|
||||
var setNoDelay = process.setNoDelay;
|
||||
var socketError = process.socketError;
|
||||
var getsockname = process.getsockname;
|
||||
var getaddrinfo = process.getaddrinfo;
|
||||
var needsLookup = process.needsLookup;
|
||||
var errnoException = process.errnoException;
|
||||
var EINPROGRESS = process.EINPROGRESS;
|
||||
var ENOENT = process.ENOENT;
|
||||
|
||||
var socket = binding.socket;
|
||||
var bind = binding.bind;
|
||||
var connect = binding.connect;
|
||||
var listen = binding.listen;
|
||||
var accept = binding.accept;
|
||||
var close = binding.close;
|
||||
var shutdown = binding.shutdown;
|
||||
var read = binding.read;
|
||||
var recvMsg = binding.recvMsg;
|
||||
var sendFD = binding.sendFD;
|
||||
var write = binding.write;
|
||||
var toRead = binding.toRead;
|
||||
var setNoDelay = binding.setNoDelay;
|
||||
var socketError = binding.socketError;
|
||||
var getsockname = binding.getsockname;
|
||||
var getaddrinfo = binding.getaddrinfo;
|
||||
var needsLookup = binding.needsLookup;
|
||||
var errnoException = binding.errnoException;
|
||||
var EINPROGRESS = binding.EINPROGRESS;
|
||||
var ENOENT = binding.ENOENT;
|
||||
var END_OF_FILE = 0;
|
||||
|
||||
|
||||
@ -357,7 +362,7 @@ function initSocket (self) {
|
||||
}
|
||||
|
||||
function Socket (fd) {
|
||||
process.EventEmitter.call(this);
|
||||
events.EventEmitter.call(this);
|
||||
|
||||
this.fd = null;
|
||||
|
||||
@ -372,7 +377,7 @@ function Socket (fd) {
|
||||
this.writable = true;
|
||||
}
|
||||
};
|
||||
sys.inherits(Socket, process.EventEmitter);
|
||||
sys.inherits(Socket, events.EventEmitter);
|
||||
exports.Socket = Socket;
|
||||
|
||||
|
||||
@ -750,7 +755,7 @@ Socket.prototype.close = function () {
|
||||
|
||||
|
||||
function Server (listener) {
|
||||
process.EventEmitter.call(this);
|
||||
events.EventEmitter.call(this);
|
||||
var self = this;
|
||||
|
||||
if (listener) {
|
||||
@ -778,7 +783,7 @@ function Server (listener) {
|
||||
}
|
||||
};
|
||||
}
|
||||
sys.inherits(Server, process.EventEmitter);
|
||||
sys.inherits(Server, events.EventEmitter);
|
||||
exports.Server = Server;
|
||||
|
||||
|
||||
|
20
src/node.cc
20
src/node.cc
@ -1139,6 +1139,24 @@ static Handle<Value> Binding(const Arguments& args) {
|
||||
binding_cache->Set(module, exports);
|
||||
}
|
||||
|
||||
} else if (!strcmp(*module_v, "net")) {
|
||||
if (binding_cache->Has(module)) {
|
||||
exports = binding_cache->Get(module)->ToObject();
|
||||
} else {
|
||||
exports = Object::New();
|
||||
InitNet2(exports);
|
||||
binding_cache->Set(module, exports);
|
||||
}
|
||||
|
||||
} else if (!strcmp(*module_v, "http_parser")) {
|
||||
if (binding_cache->Has(module)) {
|
||||
exports = binding_cache->Get(module)->ToObject();
|
||||
} else {
|
||||
exports = Object::New();
|
||||
InitHttpParser(exports);
|
||||
binding_cache->Set(module, exports);
|
||||
}
|
||||
|
||||
} else if (!strcmp(*module_v, "natives")) {
|
||||
if (binding_cache->Has(module)) {
|
||||
exports = binding_cache->Get(module)->ToObject();
|
||||
@ -1267,8 +1285,6 @@ static void Load(int argc, char *argv[]) {
|
||||
IOWatcher::Initialize(process); // io_watcher.cc
|
||||
IdleWatcher::Initialize(process); // idle_watcher.cc
|
||||
Timer::Initialize(process); // timer.cc
|
||||
InitNet2(process); // net2.cc
|
||||
InitHttpParser(process); // http_parser.cc
|
||||
ChildProcess::Initialize(process); // child_process.cc
|
||||
DefineConstants(process); // constants.cc
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user