'use strict'; require('../common'); // Regression tests for https://github.com/nodejs/node/issues/40693 const assert = require('assert'); const dgram = require('dgram'); const { AsyncLocalStorage } = require('async_hooks'); dgram.createSocket('udp4') .on('message', function(msg, rinfo) { this.send(msg, rinfo.port); }) .on('listening', function() { const asyncLocalStorage = new AsyncLocalStorage(); const store = { val: 'abcd' }; asyncLocalStorage.run(store, () => { const client = dgram.createSocket('udp4'); client.on('message', (msg, rinfo) => { assert.deepStrictEqual(asyncLocalStorage.getStore(), store); client.close(); this.close(); }); client.send('Hello, world!', this.address().port); }); }) .bind(0);