1 import { ServerOptions
} from
'ws';
2 import { StorageType
} from
'./Storage';
3 import type { WorkerChoiceStrategy
} from
'poolifier';
4 import { WorkerProcessType
} from
'./Worker';
5 import { level
} from
'winston';
7 export enum SupervisionUrlDistribution
{
8 ROUND_ROBIN
= 'round-robin',
10 SEQUENTIAL
= 'sequential',
13 export interface StationTemplateUrl
{
15 numberOfStations
: number;
18 export interface UIWebSocketServerConfiguration
{
20 options
?: ServerOptions
;
23 export interface StorageConfiguration
{
29 export default interface ConfigurationData
{
30 supervisionUrls
?: string | string[];
31 supervisionUrlDistribution
?: SupervisionUrlDistribution
;
32 stationTemplateUrls
: StationTemplateUrl
[];
33 uiWebSocketServer
?: UIWebSocketServerConfiguration
;
34 performanceStorage
?: StorageConfiguration
;
35 autoReconnectMaxRetries
?: number;
36 workerProcess
?: WorkerProcessType
;
37 workerStartDelay
?: number;
38 workerPoolMinSize
?: number;
39 workerPoolMaxSize
?: number;
40 workerPoolStrategy
?: WorkerChoiceStrategy
;
41 chargingStationsPerWorker
?: number;
42 logStatisticsInterval
?: number;
48 logErrorFile
?: string;