refactor: move dynamic pool only getters to its own class
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 30 Aug 2024 09:21:06 +0000 (11:21 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Fri, 30 Aug 2024 09:21:06 +0000 (11:21 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
src/pools/abstract-pool.ts
src/pools/cluster/dynamic.ts
src/pools/thread/dynamic.ts

index 0503e8913937df42c2b6f64a73029c572ef59c43..daef94341ae50c1c8235b0dba8f1d97dcddc1f7c 100644 (file)
@@ -2011,28 +2011,6 @@ export abstract class AbstractPool<
    */
   protected abstract get busy (): boolean
 
-  /**
-   * Whether the pool is empty or not.
-   * @returns The pool emptiness boolean status.
-   */
-  protected get empty (): boolean {
-    return (
-      this.minimumNumberOfWorkers === 0 &&
-      this.workerNodes.length === this.minimumNumberOfWorkers
-    )
-  }
-
-  /**
-   * Whether the pool is full or not.
-   * @returns The pool fullness boolean status.
-   */
-  protected get full (): boolean {
-    return (
-      this.workerNodes.length >=
-      (this.maximumNumberOfWorkers ?? this.minimumNumberOfWorkers)
-    )
-  }
-
   /** @inheritDoc */
   public get info (): PoolInfo {
     return {
index 9561fc80b1c5302add47d11687ff9cac06125421..4ebd63317c3319af30a3ffefc355aa384d6b0a18 100644 (file)
@@ -78,6 +78,28 @@ export class DynamicClusterPool<
     return this.full && this.internalBusy()
   }
 
+  /**
+   * Whether the pool is empty or not.
+   * @returns The pool emptiness boolean status.
+   */
+  private get empty (): boolean {
+    return (
+      this.minimumNumberOfWorkers === 0 &&
+      this.workerNodes.length === this.minimumNumberOfWorkers
+    )
+  }
+
+  /**
+   * Whether the pool is full or not.
+   * @returns The pool fullness boolean status.
+   */
+  private get full (): boolean {
+    return (
+      this.workerNodes.length >=
+      (this.maximumNumberOfWorkers ?? this.minimumNumberOfWorkers)
+    )
+  }
+
   /** @inheritDoc */
   protected get type (): PoolType {
     return PoolTypes.dynamic
index 9cb068a2690abf0255344a495fec46714a202458..34806edbde1321f217dd102ddf87fdea217d1773 100644 (file)
@@ -78,6 +78,28 @@ export class DynamicThreadPool<
     return this.full && this.internalBusy()
   }
 
+  /**
+   * Whether the pool is empty or not.
+   * @returns The pool emptiness boolean status.
+   */
+  private get empty (): boolean {
+    return (
+      this.minimumNumberOfWorkers === 0 &&
+      this.workerNodes.length === this.minimumNumberOfWorkers
+    )
+  }
+
+  /**
+   * Whether the pool is full or not.
+   * @returns The pool fullness boolean status.
+   */
+  private get full (): boolean {
+    return (
+      this.workerNodes.length >=
+      (this.maximumNumberOfWorkers ?? this.minimumNumberOfWorkers)
+    )
+  }
+
   /** @inheritDoc */
   protected get type (): PoolType {
     return PoolTypes.dynamic