diff options
author | Santiago Gimeno <santiago.gimeno@gmail.com> | 2019-03-16 23:03:48 +0100 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-04-03 06:48:13 +0200 |
commit | 9e960175d101fd2b41765353feab2f67c750aa5c (patch) | |
tree | 2e7d32c5f10a24428b970d61d9a66905bdf0852f /test/parallel/test-dgram-connect-send-callback-multi-buffer.js | |
parent | 38f0e382f7b431620323a3bb9cac052d3e7a539d (diff) | |
download | android-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.js | 29 |
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); |