Options
All
  • Public
  • Public/Protected
  • All
Menu

Store that for every call acquires a lock before executing it on the requested resource, and releases it afterwards. In case the request returns a Representation the lock will only be released when the data stream is finished.

For auxiliary resources the lock will be applied to the associated resource. The actual operation is still executed on the auxiliary resource.

Hierarchy

  • LockingResourceStore

Implements

Index

Constructors

constructor

Properties

Private Readonly locks

Protected Readonly logger

logger: Logger = ...

Private Readonly source

Private Readonly strategy

Methods

addResource

Protected createExpiringRepresentation

deleteResource

Protected getLockIdentifier

getRepresentation

Protected lockedRepresentationRun

  • Acquires a lock that is only released when all data of the resulting representation data has been read, an error occurs, or the timeout has been triggered. The resulting data stream will be adapted to reset the timer every time data is read.

    In case the data of the resulting stream is not needed it should be closed to prevent a timeout error.

    Parameters

    Returns Promise<Representation>

modifyResource

resourceExists

setRepresentation

Protected waitForStreamToEnd

  • waitForStreamToEnd(source: Readable): Promise<void>
  • Returns a promise that resolve when the source stream is finished, either by ending or emitting an error. In the case of an error the stream will be destroyed if it hasn't been already.

    Parameters

    • source: Readable

      The input stream.

    Returns Promise<void>