diff options
author | Paul "LeoNerd" Evans <paul@matrix.org> | 2015-03-25 19:04:59 +0000 |
---|---|---|
committer | Paul "LeoNerd" Evans <paul@matrix.org> | 2015-03-25 19:04:59 +0000 |
commit | d6b3ea75d4eba6961242ce68d5df90557b00609b (patch) | |
tree | 99b4dd63358483ff11beef9811a23a36a3a9054c /synapse | |
parent | Unit-test that Cache() key eviction is ordered (diff) | |
download | synapse-d6b3ea75d4eba6961242ce68d5df90557b00609b.tar.xz |
Implement the 'key in dict' test for LruCache()
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/util/lrucache.py | 7 |
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) |