Skip to content

rulvar API reference


rulvar API reference / @rulvar/core / KeyedLimiter

Class: KeyedLimiter

Defined in: packages/core/src/model/concurrency.ts:16

Constructors

Constructor

ts
new KeyedLimiter(caps?): KeyedLimiter;

Defined in: packages/core/src/model/concurrency.ts:19

Parameters

ParameterType
caps?Record<string, number>

Returns

KeyedLimiter

Methods

pending()

ts
pending(key): number;

Defined in: packages/core/src/model/concurrency.ts:26

Queue depth for one key (0 for unlimited keys); telemetry only.

Parameters

ParameterType
keystring

Returns

number


withSlot()

ts
withSlot<T>(
   key, 
   fn, 
onQueued?): Promise<T>;

Defined in: packages/core/src/model/concurrency.ts:34

Runs fn under the key's semaphore; keys without a configured cap run unlimited (no queueing, no overhead).

Type Parameters

Type Parameter
T

Parameters

ParameterType
keystring
fn() => Promise&lt;T&gt;
onQueued?() => void

Returns

Promise&lt;T&gt;