1 import Constants from
'../utils/Constants';
2 import { WorkerData
} from
'../types/Worker';
4 export default abstract class WorkerAbstract
{
5 protected readonly workerScript
: string;
6 protected readonly workerStartDelay
: number;
7 public abstract size
: number;
8 public abstract maxElementsPerWorker
: number | null;
11 * `WorkerAbstract` constructor.
14 * @param workerStartDelay
16 constructor(workerScript
: string, workerStartDelay
: number = Constants
.WORKER_START_DELAY
) {
17 this.workerScript
= workerScript
;
18 this.workerStartDelay
= workerStartDelay
;
21 public abstract start(): Promise
<void>;
22 public abstract stop(): Promise
<void>;
23 public abstract addElement(elementData
: WorkerData
): Promise
<void>;