node/test/parallel/test-cluster-advanced-serialization.js
Anna Henningsen 973f324463
child_process,cluster: allow using V8 serialization API
Add an `serialization` option that allows child process IPC to
use the (typically more powerful) V8 serialization API.

Fixes: https://github.com/nodejs/node/issues/10965

PR-URL: https://github.com/nodejs/node/pull/30162
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: David Carlier <devnexen@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2019-11-05 23:07:04 +01:00

23 lines
554 B
JavaScript

'use strict';
const common = require('../common');
const assert = require('assert');
const cluster = require('cluster');
if (cluster.isMaster) {
cluster.settings.serialization = 'advanced';
const worker = cluster.fork();
const circular = {};
circular.circular = circular;
worker.on('online', common.mustCall(() => {
worker.send(circular);
worker.on('message', common.mustCall((msg) => {
assert.deepStrictEqual(msg, circular);
worker.kill();
}));
}));
} else {
process.on('message', (msg) => process.send(msg));
}