repositories
/
e-mobility-charging-stations-simulator.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor(simulator): introduce HTTP methods enum
[e-mobility-charging-stations-simulator.git]
/
src
/
charging-station
/
ChargingStationWorker.ts
diff --git
a/src/charging-station/ChargingStationWorker.ts
b/src/charging-station/ChargingStationWorker.ts
index fb551a4565d82319cd07249b01cf7f6b65086ce2..b4325dbe4c1db192035652089621ffba1eef42c3 100644
(file)
--- a/
src/charging-station/ChargingStationWorker.ts
+++ b/
src/charging-station/ChargingStationWorker.ts
@@
-1,20
+1,17
@@
-// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Partial Copyright Jerome Benoit. 2021
-2023
. All Rights Reserved.
-import {
- ChargingStationWorkerData,
- ChargingStationWorkerMessage,
- ChargingStationWorkerMessageEvents,
-} from '../types/ChargingStationWorker';
-import { parentPort, workerData } from 'worker_threads';
+import { parentPort, workerData } from 'node:worker_threads';
-import ChargingStation from './ChargingStation';
import { ThreadWorker } from 'poolifier';
import { ThreadWorker } from 'poolifier';
-import Utils from '../utils/Utils';
-import WorkerConstants from '../worker/WorkerConstants';
+
+import { ChargingStation, ChargingStationUtils } from './internal';
+import type { ChargingStationWorkerData } from '../types';
+import { Utils } from '../utils';
+import { WorkerConstants, type WorkerMessage, WorkerMessageEvents } from '../worker';
// Conditionally export ThreadWorker instance for pool usage
export let threadWorker: ThreadWorker;
// Conditionally export ThreadWorker instance for pool usage
export let threadWorker: ThreadWorker;
-if (Utils.workerPoolInUse()) {
+if (
ChargingStation
Utils.workerPoolInUse()) {
threadWorker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation, {
maxInactiveTime: WorkerConstants.POOL_MAX_INACTIVE_TIME,
async: false,
threadWorker = new ThreadWorker<ChargingStationWorkerData>(startChargingStation, {
maxInactiveTime: WorkerConstants.POOL_MAX_INACTIVE_TIME,
async: false,
@@
-22,11
+19,8
@@
if (Utils.workerPoolInUse()) {
} else {
// Add message listener to start charging station from main thread
addMessageListener();
} else {
// Add message listener to start charging station from main thread
addMessageListener();
- if (!Utils.isUndefined(workerData)) {
- startChargingStation({
- index: (workerData as ChargingStationWorkerData).index,
- templateFile: (workerData as ChargingStationWorkerData).templateFile,
- });
+ if (Utils.isUndefined(workerData) === false) {
+ startChargingStation(workerData as ChargingStationWorkerData);
}
}
}
}
@@
-34,8
+28,8
@@
if (Utils.workerPoolInUse()) {
* Listen messages send by the main thread
*/
function addMessageListener(): void {
* Listen messages send by the main thread
*/
function addMessageListener(): void {
- parentPort?.on('message', (message:
ChargingStationWorkerMessage
) => {
- if (message.id ===
ChargingStation
WorkerMessageEvents.START_WORKER_ELEMENT) {
+ parentPort?.on('message', (message:
WorkerMessage<ChargingStationWorkerData>
) => {
+ if (message.id === WorkerMessageEvents.START_WORKER_ELEMENT) {
startChargingStation(message.data);
}
});
startChargingStation(message.data);
}
});
@@
-44,7
+38,7
@@
function addMessageListener(): void {
/**
* Create and start a charging station instance
*
/**
* Create and start a charging station instance
*
- * @param data workerData
+ * @param data
-
workerData
*/
function startChargingStation(data: ChargingStationWorkerData): void {
const station = new ChargingStation(data.index, data.templateFile);
*/
function startChargingStation(data: ChargingStationWorkerData): void {
const station = new ChargingStation(data.index, data.templateFile);