Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
src: all wrap's now use actual FunctionTemplate
Browse files Browse the repository at this point in the history
Instead of simply creating a new v8::Object to contain the connection
information, instantiate a new instance of a FunctionTemplate. This will
allow future improvements for debugging and performance probes.

Additionally, the "provider" argument in the ReqWrap constructor is no
longer optional.

PR-URL: #8110
Signed-off-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-by: Fedor Indutny <fedor@indutny.com>
Reviewed-by: Alexis Campailla <alexis@janeasystems.com>
Reviewed-by: Julien Gilli <julien.gilli@joyent.com>
  • Loading branch information
trevnorris committed Dec 5, 2014
1 parent b1e9d33 commit 5962dbe
Show file tree
Hide file tree
Showing 17 changed files with 404 additions and 159 deletions.
4 changes: 3 additions & 1 deletion lib/child_process.js
Expand Up @@ -27,6 +27,7 @@ var assert = require('assert');
var util = require('util');

var Process = process.binding('process_wrap').Process;
var WriteWrap = process.binding('stream_wrap').WriteWrap;
var uv = process.binding('uv');

var spawn_sync; // Lazy-loaded process.binding('spawn_sync')
Expand Down Expand Up @@ -473,7 +474,8 @@ function setupChannel(target, channel) {
return;
}

var req = { oncomplete: nop };
var req = new WriteWrap();
req.oncomplete = nop;
var string = JSON.stringify(message) + '\n';
var err = channel.writeUtf8String(req, string, handle);

Expand Down
5 changes: 4 additions & 1 deletion lib/dgram.js
Expand Up @@ -25,6 +25,7 @@ var events = require('events');
var constants = require('constants');

var UDP = process.binding('udp_wrap').UDP;
var SendWrap = process.binding('udp_wrap').SendWrap;

var BIND_STATE_UNBOUND = 0;
var BIND_STATE_BINDING = 1;
Expand Down Expand Up @@ -317,7 +318,9 @@ Socket.prototype.send = function(buffer,
self.emit('error', ex);
}
else if (self._handle) {
var req = { buffer: buffer, length: length }; // Keep reference alive.
var req = new SendWrap();
req.buffer = buffer; // Keep reference alive.
req.length = length;
if (callback) {
req.callback = callback;
req.oncomplete = afterSend;
Expand Down
26 changes: 14 additions & 12 deletions lib/dns.js
Expand Up @@ -25,6 +25,9 @@ var util = require('util');
var cares = process.binding('cares_wrap');
var uv = process.binding('uv');

var GetAddrInfoReqWrap = cares.GetAddrInfoReqWrap;
var GetNameInfoReqWrap = cares.GetNameInfoReqWrap;

var isIp = net.isIP;


Expand Down Expand Up @@ -142,12 +145,11 @@ exports.lookup = function lookup(hostname, options, callback) {
return {};
}

var req = {
callback: callback,
family: family,
hostname: hostname,
oncomplete: onlookup
};
var req = new GetAddrInfoReqWrap();
req.callback = callback;
req.family = family;
req.hostname = hostname;
req.oncomplete = onlookup;

var err = cares.getaddrinfo(req, hostname, family, hints);
if (err) {
Expand Down Expand Up @@ -178,12 +180,12 @@ exports.lookupService = function(host, port, callback) {

callback = makeAsync(callback);

var req = {
callback: callback,
host: host,
port: port,
oncomplete: onlookupservice
};
var req = new GetNameInfoReqWrap();
req.callback = callback;
req.host = host;
req.port = port;
req.oncomplete = onlookupservice;

var err = cares.getnameinfo(req, host, port);
if (err) throw errnoException(err, 'getnameinfo', host);

Expand Down

0 comments on commit 5962dbe

Please sign in to comment.