wiki.techinc.nl/includes/libs/WRStats/SequenceSpec.php
Tim Starling 876a0f9973 WRStats: Round up SequenceSpec::hardExpiry to the nearest integer
The hard expiry is used as an array key by WRStatsWriter, which causes a
deprecation warning when it is not an integer.

StatsStore declares its $ttl parameter as an integer anyway.

Bug: T337875
Change-Id: I55bfba5f6c9b77d8f616f3aead6b7fdf0a34a829
2023-07-23 20:38:51 +00:00

35 lines
794 B
PHP

<?php
namespace Wikimedia\WRStats;
/**
* Class representation of normalized sequence specifications.
*
* @internal
*/
class SequenceSpec {
/** The default time bucket size (seconds) */
public const DEFAULT_TIME_STEP = 600;
/** The default expiry time (seconds) */
public const DEFAULT_EXPIRY = 3600;
/** @var string */
public $name;
/** @var float|int */
public $timeStep;
/** @var float|int */
public $softExpiry;
/** @var int */
public $hardExpiry;
/**
* @param array $spec
*/
public function __construct( array $spec ) {
$this->timeStep = $spec['timeStep'] ?? self::DEFAULT_TIME_STEP;
$this->softExpiry = $spec['expiry'] ?? self::DEFAULT_EXPIRY;
$this->hardExpiry = (int)ceil( $this->softExpiry + $this->timeStep );
$this->name = $spec['name'] ?? '';
}
}