API reference@evolu/commonTask › SemaphoreSnapshot

Defined in: packages/common/src/Task.ts:5651

Snapshot returned by Semaphore.snapshot.

Properties

available

readonly available: number & Brand<"NonNaN"> & Brand<"Finite"> & Brand<"Int"> & Brand<"NonNegative">;

Defined in: packages/common/src/Task.ts:5676

Permits available for immediate acquisition.

In "fifo" mode, this is 0 while requests are queued because later acquisitions cannot bypass them.

When the total permit count is resized below currently held permits, this is 0 until enough permits are released.


isIdle

readonly isIdle: boolean;

Defined in: packages/common/src/Task.ts:5679

Whether no permits are held and no requests are queued.


permits

readonly permits: Int1To100OrPositiveInt;

Defined in: packages/common/src/Task.ts:5656

Total configured permits.


policy

readonly policy: SemaphorePolicy;

Defined in: packages/common/src/Task.ts:5653

Acquisition scheduling policy.


taken

readonly taken: number & Brand<"NonNaN"> & Brand<"Finite"> & Brand<"Int"> & Brand<"NonNegative">;

Defined in: packages/common/src/Task.ts:5659

Currently held permits.


waiters

readonly waiters: readonly {
  permits: Int1To100OrPositiveInt;
}[];

Defined in: packages/common/src/Task.ts:5662

Queued acquisition requests.