wiki.techinc.nl/includes/libs/WRStats/LimitCondition.php
Timo Tijhof d1ff49d27d WRStats: Improve various docs
Change-Id: I3c3e9c155cedc347a600cad16301c484e50b6f90
2023-09-21 13:11:47 -07:00

36 lines
820 B
PHP

<?php
namespace Wikimedia\WRStats;
/**
* @since 1.39
* @newable
*/
class LimitCondition {
/** @var int The maximum number of events */
public $limit;
/** @var float|int The number of seconds over which the number of events may occur */
public $window;
/**
* @param int|float|string $limit The maximum number of events
* @param int|float|string $window The number of seconds over which the
* number of events may occur
*/
public function __construct( $limit, $window ) {
$this->limit = (int)$limit;
$this->window = +$window;
if ( $this->window <= 0 ) {
throw new WRStatsError( 'Condition window must be positive' );
}
}
/**
* Get the condition as a number of events per second
*
* @return float|int
*/
public function perSecond() {
return $this->limit / $this->window;
}
}