Krinkle has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/250644

Change subject: Convert ChangesList from MapCacheLRU to HashBagOStuff
......................................................................

Convert ChangesList from MapCacheLRU to HashBagOStuff

Also make use of getWithSetCallback() while at it.

Change-Id: I6bd29db7c6564fcaf4489ec0f226ac83bafc75e8
---
M includes/changes/ChangesList.php
1 file changed, 11 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/44/250644/1

diff --git a/includes/changes/ChangesList.php b/includes/changes/ChangesList.php
index 9ac6c32..db08c73 100644
--- a/includes/changes/ChangesList.php
+++ b/includes/changes/ChangesList.php
@@ -36,8 +36,8 @@
        protected $rclistOpen;
        protected $rcMoveIndex;
 
-       /** @var MapCacheLRU */
-       protected $watchingCache;
+       /** @var BagOStuff */
+       protected $watchMsgCache;
 
        /**
         * Changeslist constructor
@@ -53,7 +53,7 @@
                        $this->skin = $obj;
                }
                $this->preCacheMessages();
-               $this->watchingCache = new MapCacheLRU( 50 );
+               $this->watchMsgCache = new HashBagOStuff( array( 'maxKeys' => 
50 ) );
        }
 
        /**
@@ -500,17 +500,16 @@
         * @return string
         */
        protected function numberofWatchingusers( $count ) {
-               $cache = $this->watchingCache;
-               if ( $count > 0 ) {
-                       if ( !$cache->has( $count ) ) {
-                               $cache->set( $count, $this->msg( 
'number_of_watching_users_RCview' )
-                                       ->numParams( $count )->escaped() );
-                       }
-
-                       return $cache->get( $count );
-               } else {
+               if ( $count <= 0 ) {
                        return '';
                }
+               $cache = $this->watchMsgCache;
+               return $cache->getWithSetCallback( $count, 
$cache::TTL_INDEFINITE,
+                       function () use ( $count ) {
+                               return $this->msg( 
'number_of_watching_users_RCview' )
+                                       ->numParams( $count )->escaped() );
+                       }
+               );
        }
 
        /**

-- 
To view, visit https://gerrit.wikimedia.org/r/250644
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6bd29db7c6564fcaf4489ec0f226ac83bafc75e8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Krinkle <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to