Interface ExpiringReadWriteLocker

A ReadWriteLocker where the locks expire after a given time.

Hierarchy

Implemented by

Properties

withReadLock: (<T>(identifier, whileLocked) => Promise<T>)

Type declaration

    • <T>(identifier, whileLocked): Promise<T>
    • As withReadLock but the locked function gets called with a maintainLock callback function to reset the lock expiration every time it is called. The resulting promise will reject once the lock expires.

      Type Parameters

      • T

      Parameters

      • identifier: ResourceIdentifier

        Identifier of the resource that needs to be locked.

      • whileLocked: ((maintainLock) => PromiseOrValue<T>)

        A function to execute while the resource is locked. Receives a callback as input parameter to maintain the lock.

      Returns Promise<T>

withWriteLock: (<T>(identifier, whileLocked) => Promise<T>)

Type declaration

    • <T>(identifier, whileLocked): Promise<T>
    • As withWriteLock but the locked function gets called with a maintainLock callback function to reset the lock expiration every time it is called. The resulting promise will reject once the lock expires.

      Type Parameters

      • T

      Parameters

      • identifier: ResourceIdentifier

        Identifier of the resource that needs to be locked.

      • whileLocked: ((maintainLock) => PromiseOrValue<T>)

        A function to execute while the resource is locked. Receives a callback as input parameter to maintain the lock.

      Returns Promise<T>