- protected async destroyWorker (worker: Worker): Promise<void> {
- this.sendToWorker(worker, { kill: true, workerId: worker.threadId })
- this.workerNodes[this.getWorkerNodeKey(worker)].closeChannel()
- await worker.terminate()
- }
-
- /** @inheritDoc */
- protected sendToWorker (worker: Worker, message: MessageValue<Data>): void {
- (
- this.getWorkerInfoByWorker(worker).messageChannel as MessageChannel
- ).port1.postMessage(message)
+ protected sendToWorker (
+ workerNodeKey: number,
+ message: MessageValue<Data>,
+ transferList?: TransferListItem[]
+ ): void {
+ this.workerNodes[workerNodeKey].messageChannel?.port1?.postMessage(
+ { ...message, workerId: this.getWorkerInfo(workerNodeKey).id },
+ transferList
+ )