From fea198e84b17af4bd0f63cb2984447afbd1a7192 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Fri, 5 Jan 2024 14:04:40 +0100 Subject: [PATCH] refactor: add type enforcement to message passing MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- src/pools/cluster/fixed.ts | 2 +- src/pools/thread/fixed.ts | 7 +++++-- src/worker/cluster-worker.ts | 5 ++++- src/worker/thread-worker.ts | 5 ++++- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/pools/cluster/fixed.ts b/src/pools/cluster/fixed.ts index e4cc7d6e..c60266e3 100644 --- a/src/pools/cluster/fixed.ts +++ b/src/pools/cluster/fixed.ts @@ -55,7 +55,7 @@ export class FixedClusterPool< this.workerNodes[workerNodeKey].worker.send({ ...message, workerId: this.getWorkerInfo(workerNodeKey)?.id - }) + } satisfies MessageValue) } /** @inheritDoc */ diff --git a/src/pools/thread/fixed.ts b/src/pools/thread/fixed.ts index 78ef12f8..d22d75fb 100644 --- a/src/pools/thread/fixed.ts +++ b/src/pools/thread/fixed.ts @@ -53,7 +53,10 @@ export class FixedThreadPool< transferList?: TransferListItem[] ): void { this.workerNodes[workerNodeKey].messageChannel?.port1.postMessage( - { ...message, workerId: this.getWorkerInfo(workerNodeKey)?.id }, + { + ...message, + workerId: this.getWorkerInfo(workerNodeKey)?.id + } satisfies MessageValue, transferList ) } @@ -68,7 +71,7 @@ export class FixedThreadPool< ready: false, workerId: this.getWorkerInfo(workerNodeKey)?.id, port: port2 - }, + } satisfies MessageValue, [port2] ) } diff --git a/src/worker/cluster-worker.ts b/src/worker/cluster-worker.ts index 1a9deb30..eedf13bd 100644 --- a/src/worker/cluster-worker.ts +++ b/src/worker/cluster-worker.ts @@ -62,6 +62,9 @@ export class ClusterWorker< protected readonly sendToMainWorker = ( message: MessageValue ): void => { - this.getMainWorker().send({ ...message, workerId: this.id }) + this.getMainWorker().send({ + ...message, + workerId: this.id + } satisfies MessageValue) } } diff --git a/src/worker/thread-worker.ts b/src/worker/thread-worker.ts index 3635d92c..638de2ba 100644 --- a/src/worker/thread-worker.ts +++ b/src/worker/thread-worker.ts @@ -84,7 +84,10 @@ export class ThreadWorker< protected readonly sendToMainWorker = ( message: MessageValue ): void => { - this.port?.postMessage({ ...message, workerId: this.id }) + this.port?.postMessage({ + ...message, + workerId: this.id + } satisfies MessageValue) } /** -- 2.34.1