X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fworker%2FWorkerAbstract.ts;h=351a61d5284b54b037e6c181882526d5ddc7fe0b;hb=4bfd80fa794b4b2f89427ef9f5944664ce3bdade;hp=fa28597c55784d585fcec7231f0aea69e298bee1;hpb=f2bf9948496c724976a2e05d2f20cb17700373ec;p=e-mobility-charging-stations-simulator.git diff --git a/src/worker/WorkerAbstract.ts b/src/worker/WorkerAbstract.ts index fa28597c..351a61d5 100644 --- a/src/worker/WorkerAbstract.ts +++ b/src/worker/WorkerAbstract.ts @@ -1,9 +1,11 @@ +import { WorkerData, WorkerStartOptions } from '../types/Worker'; + import Constants from '../utils/Constants'; -import { WorkerData } from '../types/Worker'; -export default abstract class WorkerAbstract { +export default abstract class WorkerAbstract { protected readonly workerScript: string; protected readonly workerStartDelay: number; + protected readonly elementStartDelay: number; public abstract readonly size: number; public abstract readonly maxElementsPerWorker: number | null; @@ -11,14 +13,18 @@ export default abstract class WorkerAbstract { * `WorkerAbstract` constructor. * * @param workerScript - * @param workerStartDelay + * @param workerStartOptions */ - constructor(workerScript: string, workerStartDelay: number = Constants.WORKER_START_DELAY) { + constructor(workerScript: string, workerStartOptions: WorkerStartOptions = { + workerStartDelay: Constants.WORKER_START_DELAY, + elementStartDelay: Constants.ELEMENT_START_DELAY + }) { this.workerScript = workerScript; - this.workerStartDelay = workerStartDelay; + this.workerStartDelay = workerStartOptions.workerStartDelay; + this.elementStartDelay = workerStartOptions.elementStartDelay; } public abstract start(): Promise; public abstract stop(): Promise; - public abstract addElement(elementData: WorkerData): Promise; + public abstract addElement(elementData: T): Promise; }