SemaphoreStorage
SemaphoreStorage
Interface for semaphore storage implementations. Provides methods to store, retrieve, and manage semaphore permit data.
Signature
interface SemaphoreStorage {
    acquire(
    key: string,
    timeout?: number,
    signal?: AbortSignal,
  ): Promise<boolean>;
    release(key: string): Promise<void>;
    getAvailablePermits(key: string): Promise<number>;
    getTotalPermits(key: string): Promise<number>;
}
acquire
method
(key: string, timeout?: number, signal?: AbortSignal) => Promise<boolean>Attempts to acquire a permit for a given key
release
method
(key: string) => Promise<void>Releases a permit for a given key
getAvailablePermits
method
(key: string) => Promise<number>Gets the number of available permits for a given key
getTotalPermits
method
(key: string) => Promise<number>Gets the total number of permits for a given key