Commit | Line | Data |
---|---|---|
322c9192 | 1 | import Constants from '../utils/Constants'; |
c045d9a9 | 2 | import { WorkerData } from '../types/Worker'; |
7dde0b73 | 3 | |
fd1fdf1b | 4 | export default abstract class WorkerAbstract { |
322c9192 JB |
5 | protected readonly workerScript: string; |
6 | protected readonly workerStartDelay: number; | |
418106c8 | 7 | public abstract size: number; |
6e0964c8 | 8 | public abstract maxElementsPerWorker: number | null; |
6af9012e | 9 | |
7dde0b73 | 10 | /** |
e71cccf3 | 11 | * `WorkerAbstract` constructor. |
7dde0b73 | 12 | * |
81797102 JB |
13 | * @param workerScript |
14 | * @param workerStartDelay | |
7dde0b73 | 15 | */ |
ffd71f2c | 16 | constructor(workerScript: string, workerStartDelay: number = Constants.WORKER_START_DELAY) { |
ad2f27c3 | 17 | this.workerScript = workerScript; |
322c9192 | 18 | this.workerStartDelay = workerStartDelay; |
7dde0b73 JB |
19 | } |
20 | ||
418106c8 | 21 | public abstract start(): Promise<void>; |
ded13d97 | 22 | public abstract stop(): Promise<void>; |
6013bc53 | 23 | public abstract addElement(elementData: WorkerData): Promise<void>; |
7dde0b73 | 24 | } |