perf: reduce OCPPUtils memory usage
[e-mobility-charging-stations-simulator.git] / src / types / AutomaticTransactionGenerator.ts
index 562996f096014a0c970f02bc6688e3a8ff7435be..2ae3abd7fedead24a3779622fedda4b0475414e8 100644 (file)
@@ -1,4 +1,10 @@
-export type AutomaticTransactionGeneratorConfiguration = {
+export enum IdTagDistribution {
+  RANDOM = 'random',
+  ROUND_ROBIN = 'round-robin',
+  CONNECTOR_AFFINITY = 'connector-affinity',
+}
+
+export interface AutomaticTransactionGeneratorConfiguration {
   enable: boolean;
   minDuration: number;
   maxDuration: number;
@@ -8,10 +14,11 @@ export type AutomaticTransactionGeneratorConfiguration = {
   stopAfterHours: number;
   stopOnConnectionFailure: boolean;
   requireAuthorize?: boolean;
-};
+  idTagDistribution?: IdTagDistribution;
+}
 
-export type Status = {
-  start?: boolean;
+export interface Status {
+  start: boolean;
   startDate?: Date;
   lastRunDate?: Date;
   stopDate?: Date;
@@ -23,6 +30,13 @@ export type Status = {
   acceptedStartTransactionRequests?: number;
   rejectedStartTransactionRequests?: number;
   stopTransactionRequests?: number;
+  acceptedStopTransactionRequests?: number;
+  rejectedStopTransactionRequests?: number;
   skippedConsecutiveTransactions?: number;
   skippedTransactions?: number;
-};
+}
+
+export interface ChargingStationAutomaticTransactionGeneratorConfiguration {
+  automaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
+  automaticTransactionGeneratorStatuses?: Status[];
+}