Assume rooms likely haven't changed

This commit is contained in:
Erik Johnston 2017-03-13 09:50:10 +00:00
parent 8ffbe43ba1
commit 79926e016e
2 changed files with 14 additions and 8 deletions

View File

@ -120,6 +120,8 @@ class RoomListHandler(BaseHandler):
@defer.inlineCallbacks @defer.inlineCallbacks
def get_order_for_room(room_id): def get_order_for_room(room_id):
joined_users = yield self.store.get_users_in_room(room_id)
if self.store.has_room_changed_since(room_id, stream_token):
latest_event_ids = yield self.store.get_forward_extremeties_for_room( latest_event_ids = yield self.store.get_forward_extremeties_for_room(
room_id, stream_token room_id, stream_token
) )
@ -130,6 +132,7 @@ class RoomListHandler(BaseHandler):
joined_users = yield self.state_handler.get_current_user_in_room( joined_users = yield self.state_handler.get_current_user_in_room(
room_id, latest_event_ids, room_id, latest_event_ids,
) )
num_joined_users = len(joined_users) num_joined_users = len(joined_users)
rooms_to_num_joined[room_id] = num_joined_users rooms_to_num_joined[room_id] = num_joined_users

View File

@ -829,3 +829,6 @@ class StreamStore(SQLBaseStore):
updatevalues={"stream_id": stream_id}, updatevalues={"stream_id": stream_id},
desc="update_federation_out_pos", desc="update_federation_out_pos",
) )
def has_room_changed_since(self, room_id, stream_id):
return self._events_stream_cache.has_entity_changed(room_id, stream_id)