summary refs log tree commit diff
path: root/synapse/util
diff options
context:
space:
mode:
authorPaul "LeoNerd" Evans <paul@matrix.org>2015-03-25 19:04:59 +0000
committerPaul "LeoNerd" Evans <paul@matrix.org>2015-03-25 19:04:59 +0000
commitd6b3ea75d4eba6961242ce68d5df90557b00609b (patch)
tree99b4dd63358483ff11beef9811a23a36a3a9054c /synapse/util
parentUnit-test that Cache() key eviction is ordered (diff)
downloadsynapse-d6b3ea75d4eba6961242ce68d5df90557b00609b.tar.xz
Implement the 'key in dict' test for LruCache()
Diffstat (limited to 'synapse/util')
-rw-r--r--synapse/util/lrucache.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/synapse/util/lrucache.py b/synapse/util/lrucache.py
index 65d5792907..2f7b615f78 100644
--- a/synapse/util/lrucache.py
+++ b/synapse/util/lrucache.py
@@ -90,12 +90,16 @@ class LruCache(object):
         def cache_len():
             return len(cache)
 
+        def cache_contains(key):
+            return key in cache
+
         self.sentinel = object()
         self.get = cache_get
         self.set = cache_set
         self.setdefault = cache_set_default
         self.pop = cache_pop
         self.len = cache_len
+        self.contains = cache_contains
 
     def __getitem__(self, key):
         result = self.get(key, self.sentinel)
@@ -114,3 +118,6 @@ class LruCache(object):
 
     def __len__(self):
         return self.len()
+
+    def __contains__(self, key):
+        return self.contains(key)