repositories
/
poolifier.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
feat: fully implement circular buffer semantic
[poolifier.git]
/
src
/
worker
/
abstract-worker.ts
diff --git
a/src/worker/abstract-worker.ts
b/src/worker/abstract-worker.ts
index f328bcfb52db2b0f0e5b366e5a121d80c38d08d1..bb6ac5666e0252195b4f1cafbda38471ec7fcf07 100644
(file)
--- a/
src/worker/abstract-worker.ts
+++ b/
src/worker/abstract-worker.ts
@@
-26,7
+26,7
@@
import type {
} from './task-functions.js'
import {
checkTaskFunctionName,
} from './task-functions.js'
import {
checkTaskFunctionName,
- checkValidTaskFunctionEntry,
+ checkValidTaskFunction
Object
Entry,
checkValidWorkerOptions
} from './utils.js'
import { KillBehaviors, type WorkerOptions } from './worker-options.js'
checkValidWorkerOptions
} from './utils.js'
import { KillBehaviors, type WorkerOptions } from './worker-options.js'
@@
-145,7
+145,7
@@
export abstract class AbstractWorker<
Response
>
}
Response
>
}
- checkValidTaskFunctionEntry<Data, Response>(name, fnObj)
+ checkValidTaskFunction
Object
Entry<Data, Response>(name, fnObj)
fnObj.taskFunction = fnObj.taskFunction.bind(this)
if (firstEntry) {
this.taskFunctions.set(DEFAULT_TASK_NAME, fnObj)
fnObj.taskFunction = fnObj.taskFunction.bind(this)
if (firstEntry) {
this.taskFunctions.set(DEFAULT_TASK_NAME, fnObj)
@@
-200,7
+200,7
@@
export abstract class AbstractWorker<
if (typeof fn === 'function') {
fn = { taskFunction: fn } satisfies TaskFunctionObject<Data, Response>
}
if (typeof fn === 'function') {
fn = { taskFunction: fn } satisfies TaskFunctionObject<Data, Response>
}
- checkValidTaskFunctionEntry<Data, Response>(name, fn)
+ checkValidTaskFunction
Object
Entry<Data, Response>(name, fn)
fn.taskFunction = fn.taskFunction.bind(this)
if (
this.taskFunctions.get(name) ===
fn.taskFunction = fn.taskFunction.bind(this)
if (
this.taskFunctions.get(name) ===
@@
-324,19
+324,27
@@
export abstract class AbstractWorker<
*/
protected messageListener (message: MessageValue<Data>): void {
this.checkMessageWorkerId(message)
*/
protected messageListener (message: MessageValue<Data>): void {
this.checkMessageWorkerId(message)
- if (message.statistics != null) {
+ const {
+ statistics,
+ checkActive,
+ taskFunctionOperation,
+ taskId,
+ data,
+ kill
+ } = message
+ if (statistics != null) {
// Statistics message received
// Statistics message received
- this.statistics =
message.
statistics
- } else if (
message.
checkActive != null) {
+ this.statistics = statistics
+ } else if (checkActive != null) {
// Check active message received
// Check active message received
-
message.
checkActive ? this.startCheckActive() : this.stopCheckActive()
- } else if (
message.
taskFunctionOperation != null) {
+ checkActive ? this.startCheckActive() : this.stopCheckActive()
+ } else if (taskFunctionOperation != null) {
// Task function operation message received
this.handleTaskFunctionOperationMessage(message)
// Task function operation message received
this.handleTaskFunctionOperationMessage(message)
- } else if (
message.taskId != null && message.
data != null) {
+ } else if (
taskId != null &&
data != null) {
// Task message received
this.run(message)
// Task message received
this.run(message)
- } else if (
message.
kill === true) {
+ } else if (kill === true) {
// Kill message received
this.handleKillMessage(message)
}
// Kill message received
this.handleKillMessage(message)
}