synapse-product/synapse/handlers
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 Move RoomContextHandler out of Handlers 2018-07-18 15:33:03 +01:00
_base.py Use new getters 2018-07-23 13:17:22 +01:00
account_data.py copyrights 2016-01-07 04:26:29 +00:00
admin.py run isort 2018-07-09 16:09:20 +10:00
appservice.py another couple of logcontext leaks 2018-07-24 00:57:48 +01:00
auth.py run isort 2018-07-09 16:09:20 +10:00
deactivate_account.py run isort 2018-07-09 16:09:20 +10:00
device.py s/becuase/because/g 2018-07-10 17:58:18 +01:00
devicemessage.py run isort 2018-07-09 16:09:20 +10:00
directory.py run isort 2018-07-09 16:09:20 +10:00
e2e_keys.py run isort 2018-07-09 16:09:20 +10:00
events.py run isort 2018-07-09 16:09:20 +10:00
federation.py Fix a minor documentation typo in on_make_leave 2018-07-25 15:44:41 -06:00
groups_local.py run isort 2018-07-09 16:09:20 +10:00
identity.py run isort 2018-07-09 16:09:20 +10:00
initial_sync.py another couple of logcontext leaks 2018-07-24 00:57:48 +01:00
message.py Merge branch 'develop' into erikj/client_apis_move 2018-07-24 09:57:05 +01:00
pagination.py Move PaginationHandler to its own file 2018-07-20 15:32:23 +01:00
presence.py run isort 2018-07-09 16:09:20 +10:00
profile.py Fix some looping_call calls which were broken in #3604 2018-07-26 11:48:08 +01:00
read_marker.py run isort 2018-07-09 16:09:20 +10:00
receipts.py run isort 2018-07-09 16:09:20 +10:00
register.py run isort 2018-07-09 16:09:20 +10:00
room_list.py typo 2018-07-13 12:03:39 +01:00
room_member_worker.py run isort 2018-07-09 16:09:20 +10:00
room_member.py Use new getters 2018-07-23 13:17:22 +01:00
room.py Replace usage of get_current_toke with StreamToken.START 2018-07-24 16:49:17 +01:00
search.py run isort 2018-07-09 16:09:20 +10:00
set_password.py run isort 2018-07-09 16:09:20 +10:00
sync.py Deduplicate redundant lazy-loaded members (#3331) 2018-07-26 22:51:30 +01:00
typing.py run isort 2018-07-09 16:09:20 +10:00
user_directory.py run isort 2018-07-09 16:09:20 +10:00