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, ...
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.
a Passthrough instance that errors when quota is exceeded
the identifier of the resource in question
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.
the available space and the unit of the space as a Size object
the identifier of the resource of which you want the available space
Get the currently used/occupied space.
a Size object containing the requested value. If quota is not relevant for this identifier, Size.amount should be Number.MAX_SAFE_INTEGER
the identifier that should be used to calculate the total