%PDF- %PDF-
Direktori : /home2/vacivi36/code/vendor/mikey179/vfsstream/src/main/php/org/bovigo/vfs/ |
Current File : //home2/vacivi36/code/vendor/mikey179/vfsstream/src/main/php/org/bovigo/vfs/Quota.php |
<?php /** * This file is part of vfsStream. * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. * * @package org\bovigo\vfs */ namespace org\bovigo\vfs; /** * Represents a quota for disk space. * * @since 1.1.0 * @internal */ class Quota { /** * unlimited quota */ const UNLIMITED = -1; /** * quota in bytes * * A value of -1 is treated as unlimited. * * @type int */ private $amount; /** * constructor * * @param int $amount quota in bytes */ public function __construct($amount) { $this->amount = $amount; } /** * create with unlimited space * * @return Quota */ public static function unlimited() { return new self(self::UNLIMITED); } /** * checks if a quota is set * * @return bool */ public function isLimited() { return self::UNLIMITED < $this->amount; } /** * checks if given used space exceeda quota limit * * * @param int $usedSpace * @return int */ public function spaceLeft($usedSpace) { if (self::UNLIMITED === $this->amount) { return $usedSpace; } if ($usedSpace >= $this->amount) { return 0; } $spaceLeft = $this->amount - $usedSpace; if (0 >= $spaceLeft) { return 0; } return $spaceLeft; } }