%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); const assert = require('assert'); const { MessageChannel, MessagePort, Worker } = require('worker_threads'); { const channel = new MessageChannel(); channel.port1.on('message', common.mustCall(({ typedArray }) => { assert.deepStrictEqual(typedArray, new Uint8Array([0, 1, 2, 3, 4])); })); const typedArray = new Uint8Array([0, 1, 2, 3, 4]); channel.port2.postMessage({ typedArray }, [ typedArray.buffer ]); assert.strictEqual(typedArray.buffer.byteLength, 0); channel.port2.close(); } { const channel = new MessageChannel(); channel.port1.on('close', common.mustCall()); channel.port2.on('close', common.mustCall()); channel.port2.close(); } { const channel = new MessageChannel(); const w = new Worker(` const { MessagePort } = require('worker_threads'); const assert = require('assert'); require('worker_threads').parentPort.on('message', ({ port }) => { assert(port instanceof MessagePort); port.postMessage('works'); }); `, { eval: true }); w.postMessage({ port: channel.port2 }, [ channel.port2 ]); assert(channel.port1 instanceof MessagePort); assert(channel.port2 instanceof MessagePort); channel.port1.on('message', common.mustCall((message) => { assert.strictEqual(message, 'works'); w.terminate(); })); }