An interface for classes that only have 1 way to lock interfaces. In general this should only be used by components implementing the ReadWriteLocker interface. Other components that require locking of resources should use that interface.
Acquires a lock on the requested identifier. The promise will resolve when the lock has been acquired.
Resource to acquire a lock on.
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.
Resource to release the lock on.