Class QuotaStrategyAbstract

A QuotaStrategy is used when we want to set a limit to the amount of data that can be stored on the server. This can range from a limit for the whole server to a limit on a per pod basis. The way the size of a resource is calculated is implemented by the implementing classes. This can be bytes, quads, file count, ...

Hierarchy

Constructors

Properties

limit: Size
reporter: SizeReporter<any>

Methods

  • Get a Passthrough stream that will keep track of the available space. If the quota is exceeded the stream will emit an error and destroy itself. Like other Passthrough instances this will simply pass on the chunks, when the quota isn't exceeded.

    Returns

    a Passthrough instance that errors when quota is exceeded

    Parameters

    Returns Promise<Guarded<PassThrough>>

  • Get the available space when writing data to the given identifier. If the given resource already exists it will deduct the already taken up space by that resource since it is going to be overwritten and thus counts as available space.

    Returns

    the available space and the unit of the space as a Size object

    Parameters

    • identifier: ResourceIdentifier

      the identifier of the resource of which you want the available space

    Returns Promise<Size>

  • Get the currently used/occupied space.

    Returns

    a Size object containing the requested value. If quota is not relevant for this identifier, Size.amount should be Number.MAX_SAFE_INTEGER

    Parameters

    • identifier: ResourceIdentifier

      the identifier that should be used to calculate the total

    Returns Promise<Size>