build(deps): apply updates
[e-mobility-charging-stations-simulator.git] / src / utils / Constants.ts
index c4ce0ff8c48e30b8faefd22a118c1718ec74505a..d704c15ddff2a377c9d39a6ca553f5a0409b85c9 100644 (file)
@@ -1,11 +1,42 @@
-import type { AutomaticTransactionGeneratorConfiguration } from '../types';
+import {
+  type AutomaticTransactionGeneratorConfiguration,
+  type ChargingStationInfo,
+  CurrentType,
+  OCPPVersion,
+  VendorParametersKey,
+} from '../types';
 
 export class Constants {
+  static readonly DEFAULT_STATION_INFO: Partial<ChargingStationInfo> = Object.freeze({
+    enableStatistics: false,
+    remoteAuthorization: true,
+    currentOutType: CurrentType.AC,
+    mainVoltageMeterValues: true,
+    phaseLineToLineVoltageMeterValues: false,
+    customValueLimitationMeterValues: true,
+    ocppStrictCompliance: true,
+    outOfOrderEndMeterValues: false,
+    beginEndMeterValues: false,
+    meteringPerTransaction: true,
+    transactionDataMeterValues: false,
+    supervisionUrlOcppConfiguration: false,
+    supervisionUrlOcppKey: VendorParametersKey.ConnectionUrl,
+    ocppVersion: OCPPVersion.VERSION_16,
+    ocppPersistentConfiguration: true,
+    stationInfoPersistentConfiguration: true,
+    automaticTransactionGeneratorPersistentConfiguration: true,
+    autoReconnectMaxRetries: -1,
+    registrationMaxRetries: -1,
+    reconnectExponentialDelay: false,
+    stopTransactionsOnStopped: true,
+  });
+
   static readonly DEFAULT_BOOT_NOTIFICATION_INTERVAL = 60000; // Ms
   static readonly DEFAULT_HEARTBEAT_INTERVAL = 60000; // Ms
   static readonly DEFAULT_METER_VALUES_INTERVAL = 60000; // Ms
 
   static readonly CHARGING_STATION_DEFAULT_RESET_TIME = 60000; // Ms
+  static readonly CHARGING_STATION_ATG_AVAILABILITY_TIME = 1000; // Ms
   static readonly CHARGING_STATION_ATG_INITIALIZATION_TIME = 1000; // Ms
 
   static readonly DEFAULT_ATG_CONFIGURATION: AutomaticTransactionGeneratorConfiguration =
@@ -24,7 +55,7 @@ export class Constants {
   static readonly SEMVER_PATTERN =
     '^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$';
 
-  static readonly DEFAULT_CIRCULAR_BUFFER_CAPACITY = 1024;
+  static readonly DEFAULT_CIRCULAR_BUFFER_CAPACITY = 4096;
 
   static readonly DEFAULT_HASH_ALGORITHM = 'sha384';
 
@@ -48,14 +79,14 @@ export class Constants {
 
   static readonly MAX_RANDOM_INTEGER = 281474976710654;
 
-  static readonly STOP_SIMULATOR_TIMEOUT = 120000; // Ms
+  static readonly STOP_CHARGING_STATIONS_TIMEOUT = 120000; // Ms
 
-  static readonly EMPTY_FREEZED_OBJECT = Object.freeze({});
+  static readonly EMPTY_FROZEN_OBJECT = Object.freeze({});
   static readonly EMPTY_FUNCTION = Object.freeze(() => {
     /* This is intentional */
   });
 
-  static readonly DEFAULT_RESERVATION_EXPIRATION_OBSERVATION_INTERVAL = 5000; // Ms
+  static readonly DEFAULT_MESSAGE_BUFFER_FLUSH_INTERVAL = 60000; // Ms
 
   private constructor() {
     // This is intentional