Cleanup worker internal API
[e-mobility-charging-stations-simulator.git] / src / types / Worker.ts
index 66f6d15a78e9665ab359ae3baa123bd0fdfe2782..aca1922e02a1df88e098068f12f295ab9f16fe1e 100644 (file)
@@ -1,3 +1,4 @@
+import { JsonType } from './JsonType';
 import { PoolOptions } from 'poolifier';
 import { Worker } from 'worker_threads';
 
@@ -8,7 +9,8 @@ export enum WorkerProcessType {
 }
 
 export interface WorkerOptions {
-  startDelay?: number;
+  workerStartDelay?: number;
+  elementStartDelay?: number;
   poolMaxSize?: number;
   poolMinSize?: number;
   elementsPerWorker?: number;
@@ -16,27 +18,20 @@ export interface WorkerOptions {
   messageHandler?: (message: unknown) => void | Promise<void>;
 }
 
-// eslint-disable-next-line @typescript-eslint/no-empty-interface
-export interface WorkerData {}
-
-export interface ChargingStationWorkerData extends WorkerData {
-  index: number;
-  templateFile: string;
-}
+export type WorkerData = JsonType;
 
 export interface WorkerSetElement {
   worker: Worker;
   numberOfWorkerElements: number;
 }
 
-export interface WorkerMessage {
+export interface WorkerMessage<T extends WorkerData> {
   id: WorkerMessageEvents;
-  data: any;
+  data: T;
 }
 
 export enum WorkerMessageEvents {
   START_WORKER_ELEMENT = 'startWorkerElement',
-  STOP_WORKER_ELEMENT = 'stopWorkerElement',
-  PERFORMANCE_STATISTICS = 'performanceStatistics'
+  STOP_WORKER_ELEMENT = 'stopWorkerElement'
 }