UNPKG

async-rwlock

Version:

Promise-based asynchronous readers-writers lock

22 lines (21 loc) 512 B
export declare enum State { Idle = 0, Reading = 1, Writing = 2 } export declare const ErrNotLocked: Error; export declare const ErrTimeout: Error; export declare class RWLock { private pendingReaders; private pendingWriters; private numReaders; private state; constructor(); getState(): State; readLock(timeout?: number): Promise<void>; writeLock(timeout?: number): Promise<void>; unlock(): void; private pend; private allowWrite; private allowRead; }