summary refs log tree commit diff
path: root/synapse/util/caches
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2017-01-17 11:44:57 +0000
committerErik Johnston <erik@matrix.org>2017-01-17 11:47:03 +0000
commitd6c75cb7c237a31252f0838d2aa6114cd58b2ad4 (patch)
tree7f851b05f0b5c44ce43e4935c84d3d9fe39cfe75 /synapse/util/caches
parentRemove needless call to evict() (diff)
downloadsynapse-d6c75cb7c237a31252f0838d2aa6114cd58b2ad4.tar.xz
Rename and comment tree_to_leaves_iterator
Diffstat (limited to 'synapse/util/caches')
-rw-r--r--synapse/util/caches/descriptors.py4
-rw-r--r--synapse/util/caches/treecache.py9
2 files changed, 8 insertions, 5 deletions
diff --git a/synapse/util/caches/descriptors.py b/synapse/util/caches/descriptors.py
index b3b2d6092d..a9ea97fd46 100644
--- a/synapse/util/caches/descriptors.py
+++ b/synapse/util/caches/descriptors.py
@@ -17,7 +17,7 @@ import logging
 from synapse.util.async import ObservableDeferred
 from synapse.util import unwrapFirstError
 from synapse.util.caches.lrucache import LruCache
-from synapse.util.caches.treecache import TreeCache, popped_to_iterator
+from synapse.util.caches.treecache import TreeCache, iterate_tree_cache_entry
 from synapse.util.logcontext import (
     PreserveLoggingContext, preserve_context_over_deferred, preserve_context_over_fn
 )
@@ -181,7 +181,7 @@ class Cache(object):
         val = self._pending_deferred_cache.pop(key, None)
         if val is not None:
             entry_dict, _ = val
-            for entry in popped_to_iterator(entry_dict):
+            for entry in iterate_tree_cache_entry(entry_dict):
                 entry.invalidate()
 
     def invalidate_all(self):
diff --git a/synapse/util/caches/treecache.py b/synapse/util/caches/treecache.py
index 460e98a92d..fcc341a6b7 100644
--- a/synapse/util/caches/treecache.py
+++ b/synapse/util/caches/treecache.py
@@ -65,16 +65,19 @@ class TreeCache(object):
         return popped
 
     def values(self):
-        return list(popped_to_iterator(self.root))
+        return list(iterate_tree_cache_entry(self.root))
 
     def __len__(self):
         return self.size
 
 
-def popped_to_iterator(d):
+def iterate_tree_cache_entry(d):
+    """Helper function to iterate over the leaves of a tree, i.e. a dict of that
+    can contain dicts.
+    """
     if isinstance(d, dict):
         for value_d in d.itervalues():
-            for value in popped_to_iterator(value_d):
+            for value in iterate_tree_cache_entry(value_d):
                 yield value
     else:
         if isinstance(d, _Entry):