D4499: util: make capacity a public attribute on lrucachedict

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Fri Sep 7 01:18:41 UTC 2018


indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  So others can query it. Useful for operations that may want to verify
  the cache has capacity for N items before it performs an operation that
  may cause cache eviction.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4499

AFFECTED FILES
  mercurial/util.py
  tests/test-lrucachedict.py

CHANGE DETAILS

diff --git a/tests/test-lrucachedict.py b/tests/test-lrucachedict.py
--- a/tests/test-lrucachedict.py
+++ b/tests/test-lrucachedict.py
@@ -11,6 +11,7 @@
 class testlrucachedict(unittest.TestCase):
     def testsimple(self):
         d = util.lrucachedict(4)
+        self.assertEqual(d.capacity, 4)
         d['a'] = 'va'
         d['b'] = 'vb'
         d['c'] = 'vc'
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1241,7 +1241,7 @@
         head.prev = head
         head.next = head
         self._size = 1
-        self._capacity = max
+        self.capacity = max
 
     def __len__(self):
         return len(self._cache)
@@ -1269,7 +1269,7 @@
             self._movetohead(node)
             return
 
-        if self._size < self._capacity:
+        if self._size < self.capacity:
             node = self._addcapacity()
         else:
             # Grab the last/oldest item.
@@ -1312,7 +1312,7 @@
         self._cache.clear()
 
     def copy(self):
-        result = lrucachedict(self._capacity)
+        result = lrucachedict(self.capacity)
 
         # We copy entries by iterating in oldest-to-newest order so the copy
         # has the correct ordering.



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list