1 import { ServerOptions
} from
'ws';
2 import { StorageType
} from
'./Storage';
3 import type { WorkerChoiceStrategy
} from
'poolifier';
4 import { WorkerProcessType
} from
'./Worker';
6 export enum SupervisionUrlDistribution
{
7 ROUND_ROBIN
= 'round-robin',
9 SEQUENTIAL
= 'sequential',
12 export interface StationTemplateUrl
{
14 numberOfStations
: number;
17 export interface UIWebSocketServerConfiguration
{
19 options
?: ServerOptions
;
22 export interface StorageConfiguration
{
28 export default interface ConfigurationData
{
29 supervisionUrls
?: string | string[];
30 supervisionUrlDistribution
?: SupervisionUrlDistribution
;
31 stationTemplateUrls
: StationTemplateUrl
[];
32 uiWebSocketServer
?: UIWebSocketServerConfiguration
;
33 performanceStorage
?: StorageConfiguration
;
34 autoReconnectMaxRetries
?: number;
35 workerProcess
?: WorkerProcessType
;
36 workerStartDelay
?: number;
37 workerPoolMinSize
?: number;
38 workerPoolMaxSize
?: number;
39 workerPoolStrategy
?: WorkerChoiceStrategy
;
40 chargingStationsPerWorker
?: number;
41 logStatisticsInterval
?: number;
47 logErrorFile
?: string;