+ }
+
+ /**
+ * Handles the ready message sent by the main worker.
+ * @param message - The ready message.
+ */
+ protected abstract handleReadyMessage (message: MessageValue<Data>): void
+
+ /**
+ * Worker message listener.
+ * @param message - The received message.
+ */
+ protected messageListener (message: MessageValue<Data>): void {
+ this.checkMessageWorkerId(message)
+ const {
+ statistics,
+ checkActive,
+ taskFunctionOperation,
+ taskId,
+ data,
+ kill,
+ } = message
+ if (statistics != null) {
+ // Statistics message received
+ this.statistics = statistics
+ } else if (checkActive != null) {
+ // Check active message received
+ checkActive ? this.startCheckActive() : this.stopCheckActive()
+ } else if (taskFunctionOperation != null) {
+ // Task function operation message received
+ this.handleTaskFunctionOperationMessage(message)
+ } else if (taskId != null && data != null) {
+ // Task message received
+ this.run(message)
+ } else if (kill === true) {
+ // Kill message received
+ this.handleKillMessage(message)