- protected checkOptions (opts: WorkerChoiceStrategyOptions): void {
- if (this.requiredStatistics.avgRunTime && opts.medRunTime === true) {
- this.requiredStatistics.avgRunTime = false
- this.requiredStatistics.medRunTime = opts.medRunTime as boolean
- }
- if (this.requiredStatistics.medRunTime && opts.medRunTime === false) {
- this.requiredStatistics.avgRunTime = true
- this.requiredStatistics.medRunTime = opts.medRunTime as boolean
+ protected setTaskStatisticsRequirements (
+ opts: WorkerChoiceStrategyOptions | undefined
+ ): void {
+ this.toggleMedianMeasurementStatisticsRequirements(
+ this.taskStatisticsRequirements.runTime,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.runTime!.median
+ )
+ this.toggleMedianMeasurementStatisticsRequirements(
+ this.taskStatisticsRequirements.waitTime,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.waitTime!.median
+ )
+ this.toggleMedianMeasurementStatisticsRequirements(
+ this.taskStatisticsRequirements.elu,
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ opts!.elu!.median
+ )
+ }
+
+ private toggleMedianMeasurementStatisticsRequirements (
+ measurementStatisticsRequirements: MeasurementStatisticsRequirements,
+ toggleMedian: boolean
+ ): void {
+ if (measurementStatisticsRequirements.average && toggleMedian) {
+ measurementStatisticsRequirements.average = false
+ measurementStatisticsRequirements.median = toggleMedian