rulvar API reference / @rulvar/core / Semaphore
Class: Semaphore
Defined in: packages/core/src/engine/scheduler.ts:12
Constructors
Constructor
ts
new Semaphore(limit): Semaphore;Defined in: packages/core/src/engine/scheduler.ts:17
Parameters
| Parameter | Type |
|---|---|
limit | number |
Returns
Semaphore
Accessors
pending
Get Signature
ts
get pending(): number;Defined in: packages/core/src/engine/scheduler.ts:21
Returns
number
Methods
acquire()
ts
acquire(onQueued?): Promise<() => void>;Defined in: packages/core/src/engine/scheduler.ts:29
Acquires a slot, resolving in FIFO order. onQueued fires only when the caller actually has to wait (feeds the agent:queued event).
Parameters
| Parameter | Type |
|---|---|
onQueued? | () => void |
Returns
Promise<() => void>
withSlot()
ts
withSlot<T>(fn, onQueued?): Promise<T>;Defined in: packages/core/src/engine/scheduler.ts:42
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
fn | () => Promise<T> |
onQueued? | () => void |
Returns
Promise<T>