Source of file RateLimitData.php

Size: 1,840 Bytes - Last Modified: 2019-08-09T18:27:54+00:00

/home/travis/build/zerospam/sdk-framework/src/Response/RateLimit/RateLimitData.php

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
<?php
/**
 * Created by PhpStorm.
 * User: aaflalo
 * Date: 18-05-31
 * Time: 16:47.
 */

namespace ZEROSPAM\Framework\SDK\Response\RateLimit;

use Carbon\Carbon;

/**
 * Class RateLimitData.
 *
 * Represent the number of request allowed in a minute
 * How many are still alowed and in the case there is too many done,
 * when  can the next one be done
 */
class RateLimitData implements IRateLimitData
{
    /**
     * @var int
     */
    private $maxPerMinute;

    /**
     * @var int
     */
    private $remaining;

    /**
     * @var Carbon
     */
    private $endOfThrottle;

    /**
     * Getter for maxPerMinute.
     *
     * @return int
     */
    public function getMaxPerMinute(): int
    {
        return $this->maxPerMinute;
    }

    /**
     * @param int $maxPerMinute
     *
     * @return $this
     */
    public function setMaxPerMinute(int $maxPerMinute)
    {
        $this->maxPerMinute = $maxPerMinute;

        return $this;
    }

    /**
     * Getter for currentUsage.
     *
     * @return int
     */
    public function getRemaining(): int
    {
        return $this->remaining;
    }

    /**
     * @param int $remaining
     *
     * @return $this
     */
    public function setRemaining(int $remaining)
    {
        $this->remaining = $remaining;

        return $this;
    }

    /**
     * Getter for endOfThrottle.
     *
     * @return Carbon
     */
    public function getEndOfThrottle(): Carbon
    {
        return $this->endOfThrottle;
    }

    /**
     * @param Carbon|int $endOfThrottle
     *
     * @return $this
     */
    public function setEndOfThrottle($endOfThrottle)
    {
        if (is_int($endOfThrottle)) {
            $endOfThrottle = Carbon::createFromTimestamp($endOfThrottle);
        }

        $this->endOfThrottle = $endOfThrottle;

        return $this;
    }
}