Skip to content

BlockingPriorityQueue

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:26

A priority queue that holds at most capacity items, and whose waitInsert suspends until room frees up instead of throwing.

insert still throws — this type adds a way to wait, it does not change the way to fail.

T extends DefinedValue

The type of elements in the priority queue.

P = number

The type of priority associated with each element.

new BlockingPriorityQueue<T, P>(precedes?, iterable, options): BlockingPriorityQueue<T, P>

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:34

OrderPredicate<P> = ...

Iterable<[T, P], any, any> | undefined

BlockingPriorityQueueOptions<T, P>

BlockingPriorityQueue<T, P>

readonly capacity: number

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:32

The maximum number of elements the collection can hold.

Note: Infinity is not a legal value here — an unbounded type omits this mixin.

IWaitablePriorityQueue.capacity


readonly precedes: OrderPredicate<P>

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:35

Strict weak ordering over priorities: precedes(a, b) means a outranks b.

IWaitablePriorityQueue.precedes

[iterator](): Iterator<T>

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:51

Iterator<T>

IWaitablePriorityQueue.[iterator]


clear(): void

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:55

Removes all elements from the collection.

void

IWaitablePriorityQueue.clear


count(): number

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:62

The number of elements in the collection.

A method, not a getter: its async counterpart needs a round trip to the backing store, and a member must have the same shape in both.

number

IWaitablePriorityQueue.count


entries(): IterableIterator<PriorityEntry<T, P>>

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:133

Every entry, in priority order (highest first).

IterableIterator<PriorityEntry<T, P>>

IWaitablePriorityQueue.entries


extract(): T | undefined

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:104

Removes and returns the item with the highest priority from the priority queue.

T | undefined

The item with the highest priority, or undefined if the queue is empty.

IWaitablePriorityQueue.extract


insert(priority, item): void

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:66

Inserts an item with its associated priority into the priority queue.

P

The priority of the item to insert.

T

The item to insert.

void

IWaitablePriorityQueue.insert


insertAll(priority, items): void

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:71

Inserts every item at the same priority into the priority queue.

P

The priority shared by all the items to insert.

readonly T[]

The items to insert.

void

IWaitablePriorityQueue.insertAll


peek(): T | undefined

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:114

Returns the item with the highest priority without removing it from the queue.

T | undefined

The item with the highest priority, or undefined if the queue is empty.

IWaitablePriorityQueue.peek


remove(condition): boolean

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:123

Predicate<[T, P]>

boolean

PriorityQueue.remove


setPriority(item, priority): boolean

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:118

Updates the priority of an existing item in the priority queue.

T

The item whose priority is to be updated.

P

The new priority of the item.

boolean

true if the item was found and its priority updated, false otherwise.

IWaitablePriorityQueue.setPriority


waitInsert(priority, item, signal?): Promise<void>

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:80

Same as insert, but waits for capacity if the operation would exceed it.

P

T

AbortSignal | null

Optional abort signal to cancel the operation.

Promise<void>

IPriorityQueue.insert

IWaitablePriorityQueue.waitInsert


waitInsertAll(priority, items, signal?): Promise<void>

Defined in: packages/data/src/priority-queue/blocking-priority-queue.ts:89

Same as insertAll, but waits for capacity if the operation would exceed it. The whole batch lands at once, never interleaved with another waiter’s.

P

Iterable<T>

AbortSignal | null

Optional abort signal to cancel the operation.

Promise<void>

IPriorityQueue.insertAll

IWaitablePriorityQueue.waitInsertAll