test: code cleanup
[poolifier.git] / src / pools / selection-strategies / abstract-worker-choice-strategy.ts
index cc38d196941e4611af2235a84899cd82ab55c9f0..ca3d9b9d640fc6bf0faedfe3105d5751802281e1 100644 (file)
@@ -93,6 +93,11 @@ export abstract class AbstractWorkerChoiceStrategy<
     }
   }
 
+  protected resetWorkerNodeKeyProperties (): void {
+    this.nextWorkerNodeKey = 0
+    this.previousWorkerNodeKey = 0
+  }
+
   /** @inheritDoc */
   public abstract reset (): boolean
 
@@ -190,27 +195,25 @@ export abstract class AbstractWorkerChoiceStrategy<
   }
 
   /**
-   * Assign to nextWorkerNodeKey property the chosen worker node key.
+   * Sets safely the previous worker node key.
    *
-   * @param chosenWorkerNodeKey - The chosen worker node key.
+   * @param workerNodeKey - The worker node key.
    */
-  protected assignChosenWorkerNodeKey (
-    chosenWorkerNodeKey: number | undefined
-  ): void {
-    if (chosenWorkerNodeKey != null) {
-      this.nextWorkerNodeKey = chosenWorkerNodeKey
-    } else {
-      this.nextWorkerNodeKey = undefined
-    }
+  protected setPreviousWorkerNodeKey (workerNodeKey: number | undefined): void {
+    this.previousWorkerNodeKey = workerNodeKey ?? this.previousWorkerNodeKey
   }
 
+  /**
+   * Check the next worker node eligibility.
+   *
+   * @param previousWorkerNodeKey - The previous worker node key.
+   */
   protected checkNextWorkerNodeEligibility (
-    chosenWorkerNodeKey: number | undefined
+    previousWorkerNodeKey: number | undefined
   ): void {
     if (!this.isWorkerNodeEligible(this.nextWorkerNodeKey as number)) {
       this.nextWorkerNodeKey = undefined
-      this.previousWorkerNodeKey =
-        chosenWorkerNodeKey ?? this.previousWorkerNodeKey
+      this.setPreviousWorkerNodeKey(previousWorkerNodeKey)
     }
   }