docs: enhance documentation
authorJérôme Benoit <jerome.benoit@sap.com>
Tue, 11 Apr 2023 21:09:12 +0000 (23:09 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Tue, 11 Apr 2023 21:09:12 +0000 (23:09 +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/pool.ts
src/pools/thread/dynamic.ts
src/pools/thread/fixed.ts
src/pools/worker.ts
src/utility-types.ts

index 1237491b94df3dc62bc79a056bed64bb9643edd4..b95d16b4b80259b5cb89d0e3c7717d31767e4d4c 100644 (file)
@@ -227,11 +227,19 @@ export abstract class AbstractPool<
     )
   }
 
-  /** @inheritDoc */
-  public abstract get full (): boolean
+  /**
+   * Whether the pool is full or not.
+   *
+   * The pool filling boolean status.
+   */
+  protected abstract get full (): boolean
 
-  /** @inheritDoc */
-  public abstract get busy (): boolean
+  /**
+   * Whether the pool is busy or not.
+   *
+   * The pool busyness boolean status.
+   */
+  protected abstract get busy (): boolean
 
   protected internalBusy (): boolean {
     return this.findFreeWorkerNodeKey() === -1
index 92f0068e0bad123633b62798f97435a87a0f010b..78c63aca64d8da1e879c723bd0fd064f46de83ee 100644 (file)
@@ -40,12 +40,12 @@ export class DynamicClusterPool<
   }
 
   /** @inheritDoc */
-  public get full (): boolean {
+  protected get full (): boolean {
     return this.workerNodes.length === this.max
   }
 
   /** @inheritDoc */
-  public get busy (): boolean {
+  protected get busy (): boolean {
     return this.full && this.internalBusy()
   }
 }
index e29c8c0faa1720af8c5c43bab67b5bc031a90251..81e7b3b7d08b4bb5624d993a15f7850d9d3bf2ba 100644 (file)
@@ -77,7 +77,7 @@ export class FixedClusterPool<
   }
 
   /** @inheritDoc */
-  public registerWorkerMessageListener<Message extends Data | Response>(
+  protected registerWorkerMessageListener<Message extends Data | Response>(
     worker: Worker,
     listener: (message: MessageValue<Message>) => void
   ): void {
@@ -101,12 +101,12 @@ export class FixedClusterPool<
   }
 
   /** @inheritDoc */
-  public get full (): boolean {
+  protected get full (): boolean {
     return this.workerNodes.length === this.numberOfWorkers
   }
 
   /** @inheritDoc */
-  public get busy (): boolean {
+  protected get busy (): boolean {
     return this.internalBusy()
   }
 }
index 92e399edf37bc51f2af2a45db428851f2e63be18..17088559a32620f48175cb273bf709f6af817a90 100644 (file)
@@ -60,6 +60,8 @@ export interface TasksQueueOptions {
 
 /**
  * Options for a poolifier pool.
+ *
+ * @typeParam Worker - The worker type.
  */
 export interface PoolOptions<Worker extends IWorker> {
   /**
@@ -138,18 +140,6 @@ export interface IPool<
    * - `'busy'`: Emitted when the pool is busy.
    */
   readonly emitter?: PoolEmitter
-  /**
-   * Whether the pool is full or not.
-   *
-   * The pool filling boolean status.
-   */
-  readonly full: boolean
-  /**
-   * Whether the pool is busy or not.
-   *
-   * The pool busyness boolean status.
-   */
-  readonly busy: boolean
   /**
    * Finds a free worker node key based on the number of tasks the worker has applied.
    *
index 0f901f7fdfc674b3c7761db870cf3ae29358c6ef..7bf477dd837c0ce3e30cb65ad308c32ca0774f48 100644 (file)
@@ -41,12 +41,12 @@ export class DynamicThreadPool<
   }
 
   /** @inheritDoc */
-  public get full (): boolean {
+  protected get full (): boolean {
     return this.workerNodes.length === this.max
   }
 
   /** @inheritDoc */
-  public get busy (): boolean {
+  protected get busy (): boolean {
     return this.full && this.internalBusy()
   }
 }
index 55c35a57122433ea5c2a43d3e825f7887eb9aa3a..e7d3a727f1e2e7d0804815037c875db5e8963749 100644 (file)
@@ -67,7 +67,7 @@ export class FixedThreadPool<
   }
 
   /** @inheritDoc */
-  public registerWorkerMessageListener<Message extends Data | Response>(
+  protected registerWorkerMessageListener<Message extends Data | Response>(
     messageChannel: ThreadWorkerWithMessageChannel,
     listener: (message: MessageValue<Message>) => void
   ): void {
@@ -97,12 +97,12 @@ export class FixedThreadPool<
   }
 
   /** @inheritDoc */
-  public get full (): boolean {
+  protected get full (): boolean {
     return this.workerNodes.length === this.numberOfWorkers
   }
 
   /** @inheritDoc */
-  public get busy (): boolean {
+  protected get busy (): boolean {
     return this.internalBusy()
   }
 }
index 1f8efbc66e429bc65f58aa8ecbcf5b9807f88f6d..3bb0ac9d66ef550f254b8535d3fd23d4f369a4f6 100644 (file)
@@ -31,6 +31,9 @@ export type ExitHandler<Worker extends IWorker> = (
 
 /**
  * Worker task interface.
+ *
+ * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
+ * @internal
  */
 export interface Task<Data = unknown> {
   /**
@@ -81,9 +84,22 @@ export interface IWorker {
 
 /**
  * Worker node interface.
+ *
+ * @typeParam Worker - Type of worker.
+ * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
+ * @internal
  */
 export interface WorkerNode<Worker extends IWorker, Data = unknown> {
+  /**
+   * Worker node worker.
+   */
   worker: Worker
+  /**
+   * Worker node tasks usage statistics.
+   */
   tasksUsage: TasksUsage
+  /**
+   * Worker node tasks queue.
+   */
   tasksQueue: Array<Task<Data>>
 }
index 544b4cd0a07e85f407a192466601167392167a41..685e5c4c606755bf801dd6c13d582d3657f8fe8e 100644 (file)
@@ -10,6 +10,9 @@ export type Draft<T> = { -readonly [P in keyof T]?: T[P] }
 
 /**
  * Message object that is passed between worker and main worker.
+ *
+ * @typeParam Data - Type of data sent to the worker. This can only be serializable data.
+ * @typeParam MainWorker - Type of main worker.
  */
 export interface MessageValue<
   Data = unknown,
@@ -49,6 +52,7 @@ export interface MessageValue<
  *
  * @typeParam Worker - Type of worker.
  * @typeParam Response - Type of execution response. This can only be serializable data.
+ * @internal
  */
 export interface PromiseResponseWrapper<
   Worker extends IWorker,