Add charging stations listing to WS server commands
[e-mobility-charging-stations-simulator.git] / src / types / Worker.ts
index fad707704b37a824fcb826962b7b6a94f4e213dd..8f47f57818e6e8b968bc10dce0c5bc21552df56e 100644 (file)
@@ -1,4 +1,4 @@
-import { JSONValue } from 'poolifier';
+import { PoolOptions } from 'poolifier';
 import { Worker } from 'worker_threads';
 
 export enum WorkerProcessType {
@@ -8,24 +8,29 @@ export enum WorkerProcessType {
 }
 
 export interface WorkerOptions {
+  startDelay?: number;
   poolMaxSize?: number;
   poolMinSize?: number;
   elementsPerWorker?: number;
+  poolOptions?: PoolOptions<Worker>;
+  messageHandler?: (message: unknown) => void | Promise<void>;
 }
 
-export type WorkerData = JSONValue;
+// eslint-disable-next-line @typescript-eslint/no-empty-interface
+export interface WorkerData {}
 
-export interface StationWorkerData extends WorkerData {
-  index: number;
-  templateFile: string;
+export interface WorkerSetElement {
+  worker: Worker;
+  numberOfWorkerElements: number;
 }
 
-export interface WorkerSetElement {
-  worker: Worker,
-  numberOfWorkerElements: number
+export interface WorkerMessage {
+  id: WorkerMessageEvents;
+  data: any;
 }
 
-export enum WorkerEvents {
+export enum WorkerMessageEvents {
   START_WORKER_ELEMENT = 'startWorkerElement',
+  STOP_WORKER_ELEMENT = 'stopWorkerElement'
 }