summaryrefslogtreecommitdiff
path: root/benchmark/net
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2018-02-08 04:59:10 +0100
committerAnna Henningsen <anna@addaleax.net>2018-02-14 10:00:29 +0100
commit0e7b61229aa602e55c5fb034a63d7da97eecff3b (patch)
tree0e64305591fd94e1b609c5fd4ba1ae1bd19ea66a /benchmark/net
parent0ed9ea861b847579478457b7f5aab430fb6d77cb (diff)
downloadandroid-node-v8-0e7b61229aa602e55c5fb034a63d7da97eecff3b.tar.gz
android-node-v8-0e7b61229aa602e55c5fb034a63d7da97eecff3b.tar.bz2
android-node-v8-0e7b61229aa602e55c5fb034a63d7da97eecff3b.zip
src: refactor WriteWrap and ShutdownWraps
Encapsulate stream requests more: - `WriteWrap` and `ShutdownWrap` classes are now tailored to the streams on which they are used. In particular, for most streams these are now plain `AsyncWrap`s and do not carry the overhead of unused libuv request data. - Provide generic `Write()` and `Shutdown()` methods that wrap around the actual implementations, and make *usage* of streams easier, rather than implementing; for example, wrap objects don’t need to be provided by callers anymore. - Use `EmitAfterWrite()` and `EmitAfterShutdown()` handlers to call the corresponding JS handlers, rather than always trying to call them. This makes usage of streams by other C++ code easier and leaner. Also fix up some tests that were previously not actually testing asynchronicity when the comments indicated that they would. PR-URL: https://github.com/nodejs/node/pull/18676 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'benchmark/net')
-rw-r--r--benchmark/net/tcp-raw-c2s.js2
-rw-r--r--benchmark/net/tcp-raw-pipe.js4
-rw-r--r--benchmark/net/tcp-raw-s2c.js8
3 files changed, 7 insertions, 7 deletions
diff --git a/benchmark/net/tcp-raw-c2s.js b/benchmark/net/tcp-raw-c2s.js
index 2be3bb3b53..4b6dd9c3f2 100644
--- a/benchmark/net/tcp-raw-c2s.js
+++ b/benchmark/net/tcp-raw-c2s.js
@@ -118,7 +118,7 @@ function client(type, len) {
fail(err, 'write');
}
- function afterWrite(err, handle, req) {
+ function afterWrite(err, handle) {
if (err)
fail(err, 'write');
diff --git a/benchmark/net/tcp-raw-pipe.js b/benchmark/net/tcp-raw-pipe.js
index 2fc03f08cd..dfde3d40b5 100644
--- a/benchmark/net/tcp-raw-pipe.js
+++ b/benchmark/net/tcp-raw-pipe.js
@@ -51,7 +51,7 @@ function main({ dur, len, type }) {
if (err)
fail(err, 'write');
- writeReq.oncomplete = function(status, handle, req, err) {
+ writeReq.oncomplete = function(status, handle, err) {
if (err)
fail(err, 'write');
};
@@ -130,7 +130,7 @@ function main({ dur, len, type }) {
fail(err, 'write');
}
- function afterWrite(err, handle, req) {
+ function afterWrite(err, handle) {
if (err)
fail(err, 'write');
diff --git a/benchmark/net/tcp-raw-s2c.js b/benchmark/net/tcp-raw-s2c.js
index 339f5e393d..fe0bffd812 100644
--- a/benchmark/net/tcp-raw-s2c.js
+++ b/benchmark/net/tcp-raw-s2c.js
@@ -74,14 +74,14 @@ function main({ dur, len, type }) {
fail(err, 'write');
} else if (!writeReq.async) {
process.nextTick(function() {
- afterWrite(null, clientHandle, writeReq);
+ afterWrite(0, clientHandle);
});
}
}
- function afterWrite(status, handle, req, err) {
- if (err)
- fail(err, 'write');
+ function afterWrite(status, handle) {
+ if (status)
+ fail(status, 'write');
while (clientHandle.writeQueueSize === 0)
write();