You are here

class Quota in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php \org\bovigo\vfs\Quota

Represents a quota for disk space.

@since 1.1.0 @internal

Hierarchy

  • class \org\bovigo\vfs\Quota

Expanded class hierarchy of Quota

File

vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php, line 17

Namespace

org\bovigo\vfs
View source
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;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Quota::$amount private property quota in bytes
Quota::isLimited public function checks if a quota is set
Quota::spaceLeft public function checks if given used space exceeda quota limit
Quota::unlimited public static function create with unlimited space
Quota::UNLIMITED constant unlimited quota
Quota::__construct public function constructor