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