refactor: factor out pool fullness detection
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 4 Jun 2023 13:53:23 +0000 (15:53 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 4 Jun 2023 13:53:23 +0000 (15:53 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/pools/abstract-pool.ts
src/pools/cluster/dynamic.ts
src/pools/cluster/fixed.ts
src/pools/thread/dynamic.ts
src/pools/thread/fixed.ts

index 5d7e8cd82286749884ebdb726684e444bbd1c395..43abfda76c5ed9d07e3ae98fdecb6e40b5f9b025 100644 (file)
@@ -357,7 +357,9 @@ export abstract class AbstractPool<
    *
    * The pool filling boolean status.
    */
-  protected abstract get full (): boolean
+  protected get full (): boolean {
+    return this.workerNodes.length >= this.maxSize
+  }
 
   /**
    * Whether the pool is busy or not.
index eb86ba853170f5edc83a7bd181e5fb9c45b172d5..b75b3f800d8dc771176b7f11fa437b3fedab867e 100644 (file)
@@ -43,11 +43,6 @@ export class DynamicClusterPool<
     return this.max
   }
 
-  /** @inheritDoc */
-  protected get full (): boolean {
-    return this.workerNodes.length >= this.max
-  }
-
   /** @inheritDoc */
   protected get busy (): boolean {
     return this.full && this.internalBusy()
index 0ca0250cecdf4d02f712c5fee30ce699701ba58f..f22906dfc00f89ba32430f63732492eb986dcfd3 100644 (file)
@@ -54,7 +54,7 @@ export class FixedClusterPool<
   public constructor (
     numberOfWorkers: number,
     filePath: string,
-    public readonly opts: ClusterPoolOptions = {}
+    protected readonly opts: ClusterPoolOptions = {}
   ) {
     super(numberOfWorkers, filePath, opts)
   }
@@ -119,11 +119,6 @@ export class FixedClusterPool<
     return this.numberOfWorkers
   }
 
-  /** @inheritDoc */
-  protected get full (): boolean {
-    return this.workerNodes.length >= this.numberOfWorkers
-  }
-
   /** @inheritDoc */
   protected get busy (): boolean {
     return this.internalBusy()
index 8cdb0d5c6328d318798d4465f1a5a07aeb338c2a..90889c9b2572728ba7145da8e3a5c04bfa3c3378 100644 (file)
@@ -43,11 +43,6 @@ export class DynamicThreadPool<
     return this.max
   }
 
-  /** @inheritDoc */
-  protected get full (): boolean {
-    return this.workerNodes.length >= this.max
-  }
-
   /** @inheritDoc */
   protected get busy (): boolean {
     return this.full && this.internalBusy()
index be1a8baab1f1ac61a9755f1aab009a063863d3fe..f0a49056bd3ef9c937abc10e7fc1dadc1bc3f50f 100644 (file)
@@ -116,11 +116,6 @@ export class FixedThreadPool<
     return this.numberOfWorkers
   }
 
-  /** @inheritDoc */
-  protected get full (): boolean {
-    return this.workerNodes.length >= this.numberOfWorkers
-  }
-
   /** @inheritDoc */
   protected get busy (): boolean {
     return this.internalBusy()