X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fpools%2Fselection-strategies%2Fselection-strategies-types.ts;h=1a8ea298198d842bd8cd622f74abb6a30f7b28fc;hb=b358c8aca5934f7d5dc4bd234d1909ba13850ea9;hp=1467ab4f566317742dca3f453d6cfedff860fa16;hpb=c426b04af6b85ef3ec6859929eb906bcea4fcaf7;p=poolifier.git diff --git a/src/pools/selection-strategies/selection-strategies-types.ts b/src/pools/selection-strategies/selection-strategies-types.ts index 1467ab4f..1a8ea298 100644 --- a/src/pools/selection-strategies/selection-strategies-types.ts +++ b/src/pools/selection-strategies/selection-strategies-types.ts @@ -1,7 +1,15 @@ /** * Enumeration of worker choice strategies. */ -export const WorkerChoiceStrategies = Object.freeze({ +export const WorkerChoiceStrategies: Readonly<{ + ROUND_ROBIN: 'ROUND_ROBIN' + LEAST_USED: 'LEAST_USED' + LEAST_BUSY: 'LEAST_BUSY' + LEAST_ELU: 'LEAST_ELU' + FAIR_SHARE: 'FAIR_SHARE' + WEIGHTED_ROUND_ROBIN: 'WEIGHTED_ROUND_ROBIN' + INTERLEAVED_WEIGHTED_ROUND_ROBIN: 'INTERLEAVED_WEIGHTED_ROUND_ROBIN' +}> = Object.freeze({ /** * Round robin worker selection strategy. */ @@ -42,7 +50,11 @@ export type WorkerChoiceStrategy = keyof typeof WorkerChoiceStrategies /** * Enumeration of measurements. */ -export const Measurements = Object.freeze({ +export const Measurements: Readonly<{ + runTime: 'runTime' + waitTime: 'waitTime' + elu: 'elu' +}> = Object.freeze({ runTime: 'runTime', waitTime: 'waitTime', elu: 'elu' @@ -98,21 +110,6 @@ export interface WorkerChoiceStrategyOptions { weights?: Record } -/** - * Worker choice strategy internal options. - * - * @internal - */ -export interface InternalWorkerChoiceStrategyOptions - extends WorkerChoiceStrategyOptions { - /** - * Number of worker choice retries to perform if no worker is eligible. - * - * @defaultValue pool maximum size - */ - readonly retries?: number -} - /** * Measurement statistics requirements. * @@ -216,11 +213,5 @@ export interface IWorkerChoiceStrategy { * * @param opts - The worker choice strategy options. */ - readonly setOptions: (opts: WorkerChoiceStrategyOptions) => void - /** - * Whether the pool has worker nodes ready or not. - * - * @returns Whether the pool has worker nodes ready or not. - */ - readonly hasPoolWorkerNodesReady: () => boolean + readonly setOptions: (opts: WorkerChoiceStrategyOptions | undefined) => void }