diff options
author | Erik Johnston <erik@matrix.org> | 2016-01-29 14:37:59 +0000 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-01-29 14:37:59 +0000 |
commit | 18579534ea67f2d98c189e2ddeccc4bfecb491eb (patch) | |
tree | 06a592baf4fc8dbbf331c69d8ccafb3dc7cd1541 /synapse/util/caches | |
parent | Bump AccountDataAndTagsChangeCache size (diff) | |
download | synapse-18579534ea67f2d98c189e2ddeccc4bfecb491eb.tar.xz |
Prefill stream change caches
Diffstat (limited to 'synapse/util/caches')
-rw-r--r-- | synapse/util/caches/stream_change_cache.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/synapse/util/caches/stream_change_cache.py b/synapse/util/caches/stream_change_cache.py index c673b1bdfc..891cb619fa 100644 --- a/synapse/util/caches/stream_change_cache.py +++ b/synapse/util/caches/stream_change_cache.py @@ -32,7 +32,7 @@ class StreamChangeCache(object): entities that may have changed since that position. If position key is too old then the cache will simply return all given entities. """ - def __init__(self, name, current_stream_pos, max_size=10000): + def __init__(self, name, current_stream_pos, max_size=10000, prefilled_cache={}): self._max_size = max_size self._entity_to_key = {} self._cache = sorteddict() @@ -40,6 +40,9 @@ class StreamChangeCache(object): self.name = name caches_by_name[self.name] = self._cache + for entity, stream_pos in prefilled_cache.items(): + self.entity_has_changed(entity, stream_pos) + def has_entity_changed(self, entity, stream_pos): """Returns True if the entity may have been updated since stream_pos """ |