Rename PoolCounter_Stub to PoolCounterNull

Also move to own file
Remove "Stub", because it refers a php concept,
which is not used here

Change-Id: Ife952901b5ad8e4a408d229ee72de953a9acc220
This commit is contained in:
Umherirrender 2019-03-24 22:44:46 +01:00
parent f3b090c31f
commit c71a50e2a0
4 changed files with 47 additions and 24 deletions

View file

@ -228,7 +228,6 @@
<exclude-pattern>*/includes/parser/Preprocessor_Hash\.php</exclude-pattern>
<exclude-pattern>*/includes/parser/Preprocessor\.php</exclude-pattern>
<exclude-pattern>*/includes/PathRouter\.php</exclude-pattern>
<exclude-pattern>*/includes/poolcounter/PoolCounter\.php</exclude-pattern>
<exclude-pattern>*/includes/PrefixSearch\.php</exclude-pattern>
<exclude-pattern>*/includes/profiler/SectionProfiler\.php</exclude-pattern>
<exclude-pattern>*/includes/search/SearchEngine\.php</exclude-pattern>

View file

@ -1108,10 +1108,10 @@ $wgAutoloadLocalClasses = [
'PhpXmlBugTester' => __DIR__ . '/includes/installer/PhpBugTests.php',
'Pingback' => __DIR__ . '/includes/Pingback.php',
'PoolCounter' => __DIR__ . '/includes/poolcounter/PoolCounter.php',
'PoolCounterNull' => __DIR__ . '/includes/poolcounter/PoolCounterNull.php',
'PoolCounterRedis' => __DIR__ . '/includes/poolcounter/PoolCounterRedis.php',
'PoolCounterWork' => __DIR__ . '/includes/poolcounter/PoolCounterWork.php',
'PoolCounterWorkViaCallback' => __DIR__ . '/includes/poolcounter/PoolCounterWorkViaCallback.php',
'PoolCounter_Stub' => __DIR__ . '/includes/poolcounter/PoolCounter.php',
'PoolWorkArticleView' => __DIR__ . '/includes/poolcounter/PoolWorkArticleView.php',
'PopulateArchiveRevId' => __DIR__ . '/maintenance/populateArchiveRevId.php',
'PopulateBacklinkNamespace' => __DIR__ . '/maintenance/populateBacklinkNamespace.php',

View file

@ -39,7 +39,7 @@
* that start with "nowait:". However, only 0 timeouts (non-blocking requests)
* can be used with "nowait:" keys.
*
* By default PoolCounter_Stub is used, which provides no locking. You
* By default PoolCounterNull is used, which provides no locking. You
* can get a useful one in the PoolCounter extension.
*/
abstract class PoolCounter {
@ -111,7 +111,7 @@ abstract class PoolCounter {
public static function factory( $type, $key ) {
global $wgPoolCounterConf;
if ( !isset( $wgPoolCounterConf[$type] ) ) {
return new PoolCounter_Stub;
return new PoolCounterNull;
}
$conf = $wgPoolCounterConf[$type];
$class = $conf['class'];
@ -208,23 +208,3 @@ abstract class PoolCounter {
return $type . ':' . ( hexdec( substr( sha1( $key ), 0, 4 ) ) % $slots );
}
}
// phpcs:ignore Squiz.Classes.ValidClassName.NotCamelCaps
class PoolCounter_Stub extends PoolCounter {
public function __construct() {
/* No parameters needed */
}
public function acquireForMe() {
return Status::newGood( PoolCounter::LOCKED );
}
public function acquireForAnyone() {
return Status::newGood( PoolCounter::LOCKED );
}
public function release() {
return Status::newGood( PoolCounter::RELEASED );
}
}

View file

@ -0,0 +1,44 @@
<?php
/**
* Provides of semaphore semantics for restricting the number
* of workers that may be concurrently performing the same task.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
/**
* A default PoolCounter, which provides no locking.
*/
class PoolCounterNull extends PoolCounter {
public function __construct() {
/* No parameters needed */
}
public function acquireForMe() {
return Status::newGood( PoolCounter::LOCKED );
}
public function acquireForAnyone() {
return Status::newGood( PoolCounter::LOCKED );
}
public function release() {
return Status::newGood( PoolCounter::RELEASED );
}
}