Options
All
  • Public
  • Public/Protected
  • All
Menu

Allows the locking of resources which is needed for non-atomic ResourceStores.

Hierarchy

  • ReadWriteLocker

Index

Properties

withReadLock

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

Run the given function while the resource is locked. The lock will be released when the (async) input function resolves. This function should be used for operations that only require reading the resource.

param

Identifier of the resource that needs to be locked.

param

A function to execute while the resource is locked.

returns

A promise resolving when the lock is released.

Type declaration

    • Type parameters

      • T

      Parameters

      • identifier: ResourceIdentifier
      • whileLocked: () => T | Promise<T>
          • (): T | Promise<T>
          • Returns T | Promise<T>

      Returns Promise<T>

withWriteLock

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

Run the given function while the resource is locked. The lock will be released when the (async) input function resolves. This function should be used for operations that could modify the resource.

param

Identifier of the resource that needs to be locked.

param

A function to execute while the resource is locked.

returns

A promise resolving when the lock is released.

Type declaration

    • Type parameters

      • T

      Parameters

      • identifier: ResourceIdentifier
      • whileLocked: () => T | Promise<T>
          • (): T | Promise<T>
          • Returns T | Promise<T>

      Returns Promise<T>