mirror of
https://github.com/eigent-ai/eigent.git
synced 2026-04-29 04:00:09 +00:00
15 lines
432 B
TypeScript
15 lines
432 B
TypeScript
type LockCallback<T> = () => Promise<T>;
|
|
declare class ReadWriteLock {
|
|
private semaphore;
|
|
private readers;
|
|
private readersMutex;
|
|
constructor();
|
|
withReadLock<T>(callback: LockCallback<T>): Promise<T>;
|
|
withWriteLock<T>(callback: LockCallback<T>): Promise<T>;
|
|
private _acquireReadLock;
|
|
private _releaseReadLock;
|
|
private _acquireWriteLock;
|
|
private _releaseWriteLock;
|
|
}
|
|
|
|
export { ReadWriteLock };
|