-import EventEmitter from 'events'
+import EventEmitter from 'node:events'
import type {
ErrorHandler,
ExitHandler,
MessageHandler,
OnlineHandler
-} from './pool-worker'
+} from './worker'
import type { WorkerChoiceStrategy } from './selection-strategies/selection-strategies-types'
/**
*/
export class PoolEmitter extends EventEmitter {}
+/**
+ * Enumeration of pool events.
+ */
+export const PoolEvents = Object.freeze({
+ full: 'full',
+ busy: 'busy'
+} as const)
+
+/**
+ * Pool event.
+ */
+export type PoolEvent = keyof typeof PoolEvents
+
/**
* Options for a poolifier pool.
*/
* @defaultValue true
*/
enableEvents?: boolean
+ /**
+ * Pool worker tasks queue.
+ *
+ * @experimental
+ * @defaultValue false
+ */
+ enableTasksQueue?: boolean
}
/**
*
* Events that can currently be listened to:
*
- * - `'busy'`
+ * - `'full'`: Emitted when the pool is dynamic and full.
+ * - `'busy'`: Emitted when the pool is busy.
*/
readonly emitter?: PoolEmitter
/**