summaryrefslogtreecommitdiff
path: root/test/parallel/test-dgram-send-empty-packet.js
blob: eb4f79e8aafb41f39ad2053657fc460f550b2666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'use strict';
const common = require('../common');

const assert = require('assert');
const dgram = require('dgram');

const client = dgram.createSocket('udp4');

client.bind(0, common.mustCall(function() {

  client.on('message', common.mustCall(callback));

  const port = this.address().port;
  const buf = Buffer.alloc(1);

  const interval = setInterval(function() {
    client.send(buf, 0, 0, port, '127.0.0.1', common.mustCall(callback));
  }, 10);

  function callback(firstArg) {
    // If client.send() callback, firstArg should be null.
    // If client.on('message') listener, firstArg should be a 0-length buffer.
    if (firstArg instanceof Buffer) {
      assert.strictEqual(firstArg.length, 0);
      clearInterval(interval);
      client.close();
    }
  }
}));