A ReadWriteLocker where the locks expire after a given time.

Hierarchy

  • VoidLocker

Implements

Constructors

Properties

Methods

Constructors

Properties

logger: Logger = ...

Methods

  • 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: (() => void)) => T | Promise<T>)

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

        • (maintainLock: (() => void)): T | Promise<T>
        • Parameters

          • maintainLock: (() => void)
              • (): void
              • Returns void

          Returns T | Promise<T>

    Returns 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: (() => void)) => T | Promise<T>)

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

        • (maintainLock: (() => void)): T | Promise<T>
        • Parameters

          • maintainLock: (() => void)
              • (): void
              • Returns void

          Returns T | Promise<T>

    Returns Promise<T>