diff --git a/lib/http2.js b/lib/http2.js index 2eef63524b..df5cbab7c6 100644 --- a/lib/http2.js +++ b/lib/http2.js @@ -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); diff --git a/lib/net.js b/lib/net.js index 3a2466dcd5..8b2448373e 100644 --- a/lib/net.js +++ b/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; diff --git a/src/node.cc b/src/node.cc index 608b911d73..78f7e595e0 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1139,6 +1139,24 @@ static Handle 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