1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import type { QueueChildMessage, TaskQueue } from './types';
- export declare type ComputeTaskPriorityCallback = (method: string, ...args: Array<unknown>) => number;
- declare type QueueItem = {
- task: QueueChildMessage;
- priority: number;
- };
- export default class PriorityQueue implements TaskQueue {
- private _computePriority;
- private _queue;
- private _sharedQueue;
- constructor(_computePriority: ComputeTaskPriorityCallback);
- enqueue(task: QueueChildMessage, workerId?: number): void;
- _enqueue(task: QueueChildMessage, queue: MinHeap<QueueItem>): void;
- dequeue(workerId: number): QueueChildMessage | null;
- _getWorkerQueue(workerId: number): MinHeap<QueueItem>;
- }
- declare type HeapItem = {
- priority: number;
- };
- declare class MinHeap<TItem extends HeapItem> {
- private _heap;
- peek(): TItem | null;
- add(item: TItem): void;
- poll(): TItem | null;
- }
- export {};
|