Skip to content

Commit 819690f

Browse files
trevnorrispiscisaureus
authored andcommitted
src: all wraps now use actual FunctionTemplate
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: nodejs/node-v0.x-archive#8110 Signed-off-by: Trevor Norris <[email protected]> Reviewed-by: Fedor Indutny <[email protected]> Reviewed-by: Alexis Campailla <[email protected]> Reviewed-by: Julien Gilli <[email protected]>
1 parent 8f41db6 commit 819690f

File tree

17 files changed

+407
-168
lines changed

17 files changed

+407
-168
lines changed

lib/child_process.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ var assert = require('assert');
2929
var util = require('util');
3030

3131
var Process = process.binding('process_wrap').Process;
32+
var WriteWrap = process.binding('stream_wrap').WriteWrap;
3233
var uv = process.binding('uv');
3334

3435
var spawn_sync; // Lazy-loaded process.binding('spawn_sync')
@@ -475,7 +476,8 @@ function setupChannel(target, channel) {
475476
return;
476477
}
477478

478-
var req = { oncomplete: nop };
479+
var req = new WriteWrap();
480+
req.oncomplete = nop;
479481
var string = JSON.stringify(message) + '\n';
480482
var err = channel.writeUtf8String(req, string, handle);
481483

lib/dgram.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ var events = require('events');
2727
var constants = require('constants');
2828

2929
var UDP = process.binding('udp_wrap').UDP;
30+
var SendWrap = process.binding('udp_wrap').SendWrap;
3031

3132
var BIND_STATE_UNBOUND = 0;
3233
var BIND_STATE_BINDING = 1;
@@ -319,7 +320,9 @@ Socket.prototype.send = function(buffer,
319320
self.emit('error', ex);
320321
}
321322
else if (self._handle) {
322-
var req = { buffer: buffer, length: length }; // Keep reference alive.
323+
var req = new SendWrap();
324+
req.buffer = buffer; // Keep reference alive.
325+
req.length = length;
323326
if (callback) {
324327
req.callback = callback;
325328
req.oncomplete = afterSend;

lib/dns.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ var util = require('util');
2727
var cares = process.binding('cares_wrap');
2828
var uv = process.binding('uv');
2929

30+
var GetAddrInfoReqWrap = cares.GetAddrInfoReqWrap;
31+
var GetNameInfoReqWrap = cares.GetNameInfoReqWrap;
32+
3033
var isIp = net.isIP;
3134

3235

@@ -144,12 +147,11 @@ exports.lookup = function lookup(hostname, options, callback) {
144147
return {};
145148
}
146149

147-
var req = {
148-
callback: callback,
149-
family: family,
150-
hostname: hostname,
151-
oncomplete: onlookup
152-
};
150+
var req = new GetAddrInfoReqWrap();
151+
req.callback = callback;
152+
req.family = family;
153+
req.hostname = hostname;
154+
req.oncomplete = onlookup;
153155

154156
var err = cares.getaddrinfo(req, hostname, family, hints);
155157
if (err) {
@@ -180,12 +182,12 @@ exports.lookupService = function(host, port, callback) {
180182

181183
callback = makeAsync(callback);
182184

183-
var req = {
184-
callback: callback,
185-
host: host,
186-
port: port,
187-
oncomplete: onlookupservice
188-
};
185+
var req = new GetNameInfoReqWrap();
186+
req.callback = callback;
187+
req.host = host;
188+
req.port = port;
189+
req.oncomplete = onlookupservice;
190+
189191
var err = cares.getnameinfo(req, host, port);
190192
if (err) throw errnoException(err, 'getnameinfo', host);
191193

0 commit comments

Comments
 (0)