feat: optimize worker choice strategies implementation
[poolifier.git] / src / pools / worker.ts
index 5cd58b28be9b2ee3ef44be54af4e2fb6bdcddca2..456bf785c74eff79cf45441be1c096633ce1bc11 100644 (file)
@@ -171,6 +171,13 @@ export interface WorkerUsage {
   readonly elu: EventLoopUtilizationMeasurementStatistics
 }
 
+/**
+ * Worker strategy data.
+ */
+export interface StrategyData {
+  virtualTaskEndTimestamp?: number
+}
+
 /**
  * Worker interface.
  */
@@ -227,6 +234,11 @@ export interface IWorkerNode<Worker extends IWorker, Data = unknown> {
    * Worker usage statistics.
    */
   readonly usage: WorkerUsage
+  /**
+   * Worker strategy data.
+   * This is used to store data that is specific to the worker choice strategy.
+   */
+  strategyData?: StrategyData
   /**
    * Message channel (worker_threads only).
    */