API reference › @evolu/common › Task › SemaphoreSnapshot

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

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:5761

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.


permits

readonly permits: Int1To100OrPositiveInt;

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

Total configured permits.


policy

readonly policy: SemaphorePolicy;

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

Acquisition scheduling policy.


taken

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

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

Currently held permits.


waiters

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

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

Queued acquisition requests.