Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F117865200
PriorityQueue.d.ts
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Jun 16, 08:01
Size
1 KB
Mime Type
text/x-java
Expires
Wed, Jun 18, 08:01 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
26797960
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
PriorityQueue.d.ts
View Options
/**
* Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import type { QueueChildMessage, TaskQueue } from './types';
export declare type ComputeTaskPriorityCallback = (method: string, ...args: Array<unknown>) => number;
declare type QueueItem = {
task: QueueChildMessage;
priority: number;
};
/**
* Priority queue that processes tasks in natural ordering (lower priority first)
* accoridng to the priority computed by the function passed in the constructor.
*
* FIFO ordering isn't guaranteed for tasks with the same priority.
*
* Worker specific tasks with the same priority as a non-worker specific task
* are always processed first.
*/
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 {};
Event Timeline
Log In to Comment