+ ));
+ }
+
+ private messageHandler(
+ msg: ChargingStationWorkerMessage<ChargingStationWorkerMessageData>,
+ ): void {
+ // logger.debug(
+ // `${this.logPrefix()} ${moduleName}.messageHandler: Worker channel message received: ${JSON.stringify(
+ // msg,
+ // null,
+ // 2,
+ // )}`,
+ // );
+ try {
+ switch (msg.event) {
+ case ChargingStationWorkerMessageEvents.started:
+ this.workerEventStarted(msg.data as ChargingStationData);
+ this.emit(ChargingStationWorkerMessageEvents.started, msg.data as ChargingStationData);
+ break;
+ case ChargingStationWorkerMessageEvents.stopped:
+ this.workerEventStopped(msg.data as ChargingStationData);
+ this.emit(ChargingStationWorkerMessageEvents.stopped, msg.data as ChargingStationData);
+ break;
+ case ChargingStationWorkerMessageEvents.updated:
+ this.workerEventUpdated(msg.data as ChargingStationData);
+ this.emit(ChargingStationWorkerMessageEvents.updated, msg.data as ChargingStationData);
+ break;
+ case ChargingStationWorkerMessageEvents.performanceStatistics:
+ this.workerEventPerformanceStatistics(msg.data as Statistics);
+ this.emit(
+ ChargingStationWorkerMessageEvents.performanceStatistics,
+ msg.data as Statistics,
+ );
+ break;
+ case ChargingStationWorkerMessageEvents.startWorkerElementError:
+ logger.error(
+ `${this.logPrefix()} ${moduleName}.messageHandler: Error occured while starting worker element:`,
+ msg.data,
+ );
+ this.emit(ChargingStationWorkerMessageEvents.startWorkerElementError, msg.data);
+ break;
+ case ChargingStationWorkerMessageEvents.startedWorkerElement:
+ break;
+ default:
+ throw new BaseError(
+ `Unknown charging station worker event: '${
+ msg.event
+ }' received with data: ${JSON.stringify(msg.data, null, 2)}`,
+ );