1 import { ListenOptions
} from
'net';
2 import { StorageType
} from
'./Storage';
3 import { ServerOptions
as WSServerOptions
} from
'ws';
4 import type { WorkerChoiceStrategy
} from
'poolifier';
5 import { WorkerProcessType
} from
'./Worker';
7 export type ServerOptions
= WSServerOptions
& ListenOptions
;
9 export enum SupervisionUrlDistribution
{
10 ROUND_ROBIN
= 'round-robin',
12 SEQUENTIAL
= 'sequential',
15 export interface StationTemplateUrl
{
17 numberOfStations
: number;
20 export interface UIServerConfiguration
{
22 options
?: ServerOptions
;
25 export interface StorageConfiguration
{
31 export default interface ConfigurationData
{
32 supervisionUrls
?: string | string[];
33 supervisionUrlDistribution
?: SupervisionUrlDistribution
;
34 stationTemplateUrls
: StationTemplateUrl
[];
35 uiServer
?: UIServerConfiguration
;
36 performanceStorage
?: StorageConfiguration
;
37 autoReconnectMaxRetries
?: number;
38 workerProcess
?: WorkerProcessType
;
39 workerStartDelay
?: number;
40 elementStartDelay
?: number;
41 workerPoolMinSize
?: number;
42 workerPoolMaxSize
?: number;
43 workerPoolStrategy
?: WorkerChoiceStrategy
;
44 chargingStationsPerWorker
?: number;
45 logStatisticsInterval
?: number;
51 logErrorFile
?: string;