refactor: remove unneeded branching in WCS code
[poolifier.git] / src / pools / pool.ts
index a0d3a9418cd6fd9632c5dec2ed382f2548822a57..09d2f229c5bbf02baf00172c494efa3d9df23584 100644 (file)
@@ -79,6 +79,7 @@ export interface PoolInfo {
   readonly executingTasks: number
   readonly queuedTasks?: number
   readonly maxQueuedTasks?: number
+  readonly backPressure?: boolean
   readonly failedTasks: number
   readonly runTime?: {
     readonly minimum: number
@@ -178,6 +179,8 @@ export interface IPool<
   readonly info: PoolInfo
   /**
    * Pool worker nodes.
+   *
+   * @internal
    */
   readonly workerNodes: Array<IWorkerNode<Worker, Data>>
   /**
@@ -185,6 +188,7 @@ export interface IPool<
    *
    * @param workerNodeKey - The worker node key.
    * @returns `true` if the worker node has back pressure, `false` otherwise.
+   * @internal
    */
   readonly hasWorkerNodeBackPressure: (workerNodeKey: number) => boolean
   /**
@@ -198,7 +202,7 @@ export interface IPool<
    * - '`destroy`': Emitted when the pool is destroyed.
    * - `'error'`: Emitted when an uncaught error occurs.
    * - `'taskError'`: Emitted when an error occurs while executing a task.
-   * - `'backPressure'`: Emitted when a worker node has back pressure (i.e. its tasks queue is full).
+   * - `'backPressure'`: Emitted when all worker nodes have back pressure (i.e. their tasks queue is full: queue size \>= pool maximum size^2).
    */
   readonly emitter?: PoolEmitter
   /**