X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Flibs%2Fobjectcache%2FHashBagOStuff.php;h=0f7011d60c358fcf8d973d6db40e8b0403cb04c6;hb=327e8ea41681487382d8abe7cb111501954b9d1b;hp=83c8004c265b50f79cd7854531f069259113a868;hpb=56c6aa54f0f586bfb4ad16075af372987e4ebc2c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/objectcache/HashBagOStuff.php b/includes/libs/objectcache/HashBagOStuff.php index 83c8004c26..0f7011d60c 100644 --- a/includes/libs/objectcache/HashBagOStuff.php +++ b/includes/libs/objectcache/HashBagOStuff.php @@ -47,6 +47,10 @@ class HashBagOStuff extends MediumSpecificBagOStuff { /** * @param array $params Additional parameters include: * - maxKeys : only allow this many keys (using oldest-first eviction) + * @codingStandardsIgnoreStart + * @phan-param array{logger?:Psr\Log\LoggerInterface,asyncHandler?:callable,keyspace?:string,reportDupes?:bool,syncTimeout?:int,segmentationSize?:int,segmentedValueMaxSize?:int,maxKeys?:int} $params + * @codingStandardsIgnoreEnd + * @suppress PhanTypeInvalidDimOffset */ function __construct( $params = [] ) { $params['segmentationSize'] = $params['segmentationSize'] ?? INF; @@ -81,7 +85,7 @@ class HashBagOStuff extends MediumSpecificBagOStuff { unset( $this->bag[$key] ); $this->bag[$key] = [ self::KEY_VAL => $value, - self::KEY_EXP => $this->convertToExpiry( $exptime ), + self::KEY_EXP => $this->getExpirationAsTimestamp( $exptime ), self::KEY_CAS => $this->token . ':' . ++self::$casCounter ]; @@ -94,7 +98,7 @@ class HashBagOStuff extends MediumSpecificBagOStuff { return true; } - public function add( $key, $value, $exptime = 0, $flags = 0 ) { + protected function doAdd( $key, $value, $exptime = 0, $flags = 0 ) { if ( $this->hasKey( $key ) && !$this->expire( $key ) ) { return false; // key already set } @@ -108,10 +112,10 @@ class HashBagOStuff extends MediumSpecificBagOStuff { return true; } - public function incr( $key, $value = 1 ) { + public function incr( $key, $value = 1, $flags = 0 ) { $n = $this->get( $key ); if ( $this->isInteger( $n ) ) { - $n = max( $n + intval( $value ), 0 ); + $n = max( $n + (int)$value, 0 ); $this->bag[$key][self::KEY_VAL] = $n; return $n; @@ -120,6 +124,10 @@ class HashBagOStuff extends MediumSpecificBagOStuff { return false; } + public function decr( $key, $value = 1, $flags = 0 ) { + return $this->incr( $key, -$value, $flags ); + } + /** * Clear all values in cache */