Cache network room list queries.
This commit is contained in:
parent
f5a4001bb1
commit
b2f8642d3d
|
@ -62,17 +62,18 @@ class RoomListHandler(BaseHandler):
|
||||||
appservice and network id to use an appservice specific one.
|
appservice and network id to use an appservice specific one.
|
||||||
Setting to None returns all public rooms across all lists.
|
Setting to None returns all public rooms across all lists.
|
||||||
"""
|
"""
|
||||||
if search_filter or (network_tuple and network_tuple.appservice_id is not None):
|
if search_filter:
|
||||||
# We explicitly don't bother caching searches or requests for
|
# We explicitly don't bother caching searches or requests for
|
||||||
# appservice specific lists.
|
# appservice specific lists.
|
||||||
return self._get_public_room_list(
|
return self._get_public_room_list(
|
||||||
limit, since_token, search_filter, network_tuple=network_tuple,
|
limit, since_token, search_filter, network_tuple=network_tuple,
|
||||||
)
|
)
|
||||||
|
|
||||||
result = self.response_cache.get((limit, since_token))
|
key = (limit, since_token, network_tuple)
|
||||||
|
result = self.response_cache.get(key)
|
||||||
if not result:
|
if not result:
|
||||||
result = self.response_cache.set(
|
result = self.response_cache.set(
|
||||||
(limit, since_token),
|
key,
|
||||||
self._get_public_room_list(
|
self._get_public_room_list(
|
||||||
limit, since_token, network_tuple=network_tuple
|
limit, since_token, network_tuple=network_tuple
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue