docs: refine code comments
[poolifier.git] / src / pools / pool.ts
index ab2cf2e49258acf35c267f03d5c88bab91f1428e..a8d8849b0797f9e8a16f71058fbca0046d782c73 100644 (file)
@@ -1,5 +1,5 @@
-import { EventEmitter } from 'node:events'
-import { type TransferListItem } from 'node:worker_threads'
+import { EventEmitterAsyncResource } from 'node:events'
+import type { TransferListItem } from 'node:worker_threads'
 import type { TaskFunction } from '../worker/task-functions'
 import type {
   ErrorHandler,
@@ -35,9 +35,9 @@ export const PoolTypes = Object.freeze({
 export type PoolType = keyof typeof PoolTypes
 
 /**
- * Pool events emitter.
+ * Pool event emitter integrated with async resource.
  */
-export class PoolEmitter extends EventEmitter {}
+export class PoolEmitter extends EventEmitterAsyncResource {}
 
 /**
  * Enumeration of pool events.
@@ -179,7 +179,7 @@ export interface PoolOptions<Worker extends IWorker> {
    */
   restartWorkerOnError?: boolean
   /**
-   * Pool events emission.
+   * Pool events integrated with async resource emission.
    *
    * @defaultValue true
    */
@@ -227,7 +227,8 @@ export interface IPool<
    */
   readonly hasWorkerNodeBackPressure: (workerNodeKey: number) => boolean
   /**
-   * Emitter on which events can be listened to.
+   * Event emitter integrated with async resource on which events can be listened to.
+   * The async tracking tooling identifier is `poolifier:<PoolType>-<WorkerType>-pool`.
    *
    * Events that can currently be listened to:
    *