Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/core / MemoryQuotaLimiter

Interface: MemoryQuotaLimiter

Defined in: packages/core/src/model/quota.ts:352

The in-process reference QuotaLimiter returned by memoryQuotaLimiter.

Extends

Methods

reconcile()

ts
reconcile(
   reservationId, 
   usage, 
actual?): Promise<void>;

Defined in: packages/core/src/l0/spi/quota.ts:117

Settles a reservation against the attempt's actual usage. The optional actual.requests is the TRUE number of wire requests the reservation ended up covering (RV905: an adapter absorbing provider-side continuations makes several wire calls inside one reserved dispatch); implementations add the difference over the single request the reservation admitted into the same window, so the request cap reflects what the provider actually metered. A settlement never denies retroactively: the wire calls already happened. Implementations written against the two-argument form remain valid; they merely keep the historical undercount.

Parameters

ParameterType
reservationIdstring
usageUsage
actual?{ requests?: number; }
actual.requests?number

Returns

Promise&lt;void&gt;

Inherited from

QuotaLimiter.reconcile


release()

ts
release(reservationId): Promise<void>;

Defined in: packages/core/src/model/quota.ts:356

The reference limiter always implements release (RV1013).

Parameters

ParameterType
reservationIdstring

Returns

Promise&lt;void&gt;

Overrides

QuotaLimiter.release


reserve()

ts
reserve(request): Promise<QuotaDecision>;

Defined in: packages/core/src/l0/spi/quota.ts:104

Parameters

ParameterType
requestQuotaReservationRequest

Returns

Promise&lt;QuotaDecision&gt;

Inherited from

QuotaLimiter.reserve


snapshot()

ts
snapshot(): QuotaWindowSnapshot[];

Defined in: packages/core/src/model/quota.ts:354

Current-window counters per rule; rolled-over windows read as zero.

Returns

QuotaWindowSnapshot[]