A resource locker making use of the async-lock library. Note that all locks are kept in memory until they are unlocked which could potentially result in a memory leak if locks are never unlocked, so make sure this is covered with expiring locks for example, and/or proper finally handles.

Hierarchy

  • MemoryResourceLocker

Implements

Constructors

Properties

locker: AsyncLock
logger: Logger = ...
unlockCallbacks: Record<string, (() => void)>

Methods

  • Releases a lock on the requested identifier. The promise will resolve when the lock has been released. In case there is no lock on the resource an error should be thrown.

    Parameters

    Returns Promise<void>