X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FStationWorker.ts;h=5977b8e0eae322cdb32b1493d6e4719faf4357ca;hb=c56d42f1989acd8c336fb165d5e295245adb37fa;hp=edc306f9916cbeded55af1123b67da7816ee26d6;hpb=74bbc59b015bd71ec4cdcdb6c9bf7a5cb7e63ff0;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/StationWorker.ts b/src/charging-station/StationWorker.ts index edc306f9..5977b8e0 100644 --- a/src/charging-station/StationWorker.ts +++ b/src/charging-station/StationWorker.ts @@ -7,26 +7,34 @@ import { ThreadWorker } from 'poolifier'; import Utils from '../utils/Utils'; // Conditionally export ThreadWorker instance for pool usage -export let threadWorker; +export let threadWorker: ThreadWorker; if (Utils.workerPoolInUse()) { threadWorker = new ThreadWorker(startChargingStation, { maxInactiveTime: Constants.WORKER_POOL_MAX_INACTIVE_TIME, async: false }); } else { - // Add listener to start charging station from main thread - addListener(); + // Add message listener to start charging station from main thread + addMessageListener(); if (!Utils.isUndefined(workerData)) { startChargingStation({ index: workerData.index as number, templateFile: workerData.templateFile as string }); } } -function addListener(): void { - parentPort.on('message', (message) => { +/** + * Listen messages send by the main thread + */ +function addMessageListener(): void { + parentPort?.on('message', (message) => { if (message.id === WorkerEvents.START_WORKER_ELEMENT) { startChargingStation(message.workerData); } }); } +/** + * Create and start a charging station instance + * + * @param {StationWorkerData} data workerData + */ function startChargingStation(data: StationWorkerData): void { - const station = new ChargingStation(data.index , data.templateFile); + const station = new ChargingStation(data.index, data.templateFile); station.start(); }