import type { EventEmitter } from 'node:events'
import type { MessageChannel, WorkerOptions } from 'node:worker_threads'
-import type { CircularArray } from '../circular-array.js'
+import type { CircularBuffer } from '../circular-buffer.js'
import type { Task, TaskFunctionProperties } from '../utility-types.js'
/**
| ErrorHandler<Worker>
| ExitHandler<Worker>
+/**
+ * Measurement history size.
+ */
+export const MeasurementHistorySize = 386
+
/**
* Measurement statistics.
*
/**
* Measurement history.
*/
- readonly history: CircularArray<number>
+ readonly history: CircularBuffer<number>
}
/**
* This flag is set to `true` when worker node is stealing tasks from another worker node.
*/
stealing: boolean
+ /**
+ * Back pressure flag.
+ * This flag is set to `true` when worker node tasks queue has back pressure.
+ */
+ backPressure: boolean
/**
* Task functions properties.
*/
* @returns The dequeued task.
*/
readonly dequeueTask: (bucket?: number) => Task<Data> | undefined
+ /**
+ * Dequeue last prioritized task.
+ *
+ * @returns The dequeued task.
+ */
+ readonly dequeueLastPrioritizedTask: () => Task<Data> | undefined
/**
* Clears tasks queue.
*/