forked-synapse/synapse/api
Matthew Hodgson a75231b507
Deduplicate redundant lazy-loaded members (#3331)
* attempt at deduplicating lazy-loaded members

as per the proposal; we can deduplicate redundant lazy-loaded members
which are sent in the same sync sequence. we do this heuristically
rather than requiring the client to somehow tell us which members it
has chosen to cache, by instead caching the last N members sent to
a client, and not sending them again.  For now we hardcode N to 100.
Each cache for a given (user,device) tuple is in turn cached for up to
X minutes (to avoid the caches building up).  For now we hardcode X to 30.

* add include_redundant_members filter option & make it work

* remove stale todo

* add tests for _get_some_state_from_cache

* incorporate review
2018-07-26 22:51:30 +01:00
..
__init__.py copyrights 2016-01-07 04:26:29 +00:00
auth.py Merge branch 'develop' into erikj/client_apis_move 2018-07-24 09:57:05 +01:00
constants.py Implementation of server_acls 2018-07-04 19:06:20 +01:00
errors.py run isort 2018-07-09 16:09:20 +10:00
filtering.py Deduplicate redundant lazy-loaded members (#3331) 2018-07-26 22:51:30 +01:00
ratelimiting.py Check whether to ratelimit sooner to avoid work 2016-10-19 10:45:24 +01:00
urls.py run isort 2018-07-09 16:09:20 +10:00