summaryrefslogtreecommitdiff
path: root/test/parallel/test-dgram-connect-send-callback-multi-buffer.js
diff options
context:
space:
mode:
authorSantiago Gimeno <santiago.gimeno@gmail.com>2019-03-16 23:03:48 +0100
committerDaniel Bevenius <daniel.bevenius@gmail.com>2019-04-03 06:48:13 +0200
commit9e960175d101fd2b41765353feab2f67c750aa5c (patch)
tree2e7d32c5f10a24428b970d61d9a66905bdf0852f /test/parallel/test-dgram-connect-send-callback-multi-buffer.js
parent38f0e382f7b431620323a3bb9cac052d3e7a539d (diff)
downloadandroid-node-v8-9e960175d101fd2b41765353feab2f67c750aa5c.tar.gz
android-node-v8-9e960175d101fd2b41765353feab2f67c750aa5c.tar.bz2
android-node-v8-9e960175d101fd2b41765353feab2f67c750aa5c.zip
dgram: add support for UDP connected sockets
Added the `dgram.connect()` and `dgram.disconnect()` methods that associate/disassociate a udp socket to/from a remote address. It optimizes for cases where lots of packets are sent to the same address. Also added the `dgram.remoteAddress()` method to retrieve the associated remote address. PR-URL: https://github.com/nodejs/node/pull/26871 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'test/parallel/test-dgram-connect-send-callback-multi-buffer.js')
-rw-r--r--test/parallel/test-dgram-connect-send-callback-multi-buffer.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/test/parallel/test-dgram-connect-send-callback-multi-buffer.js b/test/parallel/test-dgram-connect-send-callback-multi-buffer.js
new file mode 100644
index 0000000000..defc73697c
--- /dev/null
+++ b/test/parallel/test-dgram-connect-send-callback-multi-buffer.js
@@ -0,0 +1,29 @@
+'use strict';
+
+const common = require('../common');
+const assert = require('assert');
+const dgram = require('dgram');
+
+const client = dgram.createSocket('udp4');
+
+const messageSent = common.mustCall((err, bytes) => {
+ assert.strictEqual(bytes, buf1.length + buf2.length);
+});
+
+const buf1 = Buffer.alloc(256, 'x');
+const buf2 = Buffer.alloc(256, 'y');
+
+client.on('listening', common.mustCall(() => {
+ const port = client.address().port;
+ client.connect(port, common.mustCall(() => {
+ client.send([buf1, buf2], messageSent);
+ }));
+}));
+
+client.on('message', common.mustCall((buf, info) => {
+ const expected = Buffer.concat([buf1, buf2]);
+ assert.ok(buf.equals(expected), 'message was received correctly');
+ client.close();
+}));
+
+client.bind(0);