summaryrefslogtreecommitdiff
path: root/cli/tests/node_compat/test/parallel/test-dgram-send-empty-packet.js
blob: 78789a71a61ce68f0db50b18e9e46ab755af8336 (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
30
31
32
33
34
35
36
// deno-fmt-ignore-file
// deno-lint-ignore-file

// Copyright Joyent and Node contributors. All rights reserved. MIT license.
// Taken from Node 18.12.1
// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually

'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();
    }
  }
}));