mirror of
https://github.com/nodejs/node.git
synced 2024-11-28 14:33:11 +01:00
27 lines
790 B
JavaScript
27 lines
790 B
JavaScript
|
'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);
|