1 import type { ListenOptions
} from
'node:net';
3 import type { WorkerChoiceStrategy
} from
'poolifier';
5 import type { ApplicationProtocol
, AuthenticationType
, StorageType
} from
'./internal';
6 import type { WorkerProcessType
} from
'../worker';
8 type ServerOptions
= ListenOptions
;
10 export enum SupervisionUrlDistribution
{
11 ROUND_ROBIN
= 'round-robin',
13 CHARGING_STATION_AFFINITY
= 'charging-station-affinity',
16 export type StationTemplateUrl
= {
18 numberOfStations
: number;
21 export type UIServerConfiguration
= {
23 type?: ApplicationProtocol
;
24 options
?: ServerOptions
;
27 type: AuthenticationType
;
33 export type StorageConfiguration
= {
39 export type WorkerConfiguration
= {
40 processType
?: WorkerProcessType
;
42 elementsPerWorker
?: number;
43 elementStartDelay
?: number;
46 poolStrategy
?: WorkerChoiceStrategy
;
49 export type ConfigurationData
= {
50 supervisionUrls
?: string | string[];
51 supervisionUrlDistribution
?: SupervisionUrlDistribution
;
52 stationTemplateUrls
: StationTemplateUrl
[];
53 uiServer
?: UIServerConfiguration
;
54 performanceStorage
?: StorageConfiguration
;
55 worker
?: WorkerConfiguration
;
56 autoReconnectMaxRetries
?: number;
57 /** @deprecated Moved to worker configuration section. */
58 workerProcess
?: WorkerProcessType
;
59 /** @deprecated Moved to worker configuration section. */
60 workerStartDelay
?: number;
61 /** @deprecated Moved to worker configuration section. */
62 elementStartDelay
?: number;
63 /** @deprecated Moved to worker configuration section. */
64 workerPoolMinSize
?: number;
65 /** @deprecated Moved to worker configuration section. */
66 workerPoolMaxSize
?: number;
67 /** @deprecated Moved to worker configuration section. */
68 workerPoolStrategy
?: WorkerChoiceStrategy
;
69 /** @deprecated Moved to worker configuration section. */
70 chargingStationsPerWorker
?: number;
71 logStatisticsInterval
?: number;
75 logMaxFiles
?: number | string;
76 logMaxSize
?: number | string;
78 logErrorFile
?: string;