Do more parellelization for initialSync

This commit is contained in:
Erik Johnston 2015-04-15 14:21:59 +01:00
parent 1ec6fa98c9
commit bc6cef823f

View File

@ -293,10 +293,17 @@ class MessageHandler(BaseHandler):
if event.membership != Membership.JOIN: if event.membership != Membership.JOIN:
return return
try: try:
messages, token = yield self.store.get_recent_events_for_room( (messages, token), current_state = yield defer.gatherResults(
event.room_id, [
limit=limit, self.store.get_recent_events_for_room(
end_token=now_token.room_key, event.room_id,
limit=limit,
end_token=now_token.room_key,
),
self.state_handler.get_current_state(
event.room_id
),
]
) )
start_token = now_token.copy_and_replace("room_key", token[0]) start_token = now_token.copy_and_replace("room_key", token[0])
@ -312,9 +319,6 @@ class MessageHandler(BaseHandler):
"end": end_token.to_string(), "end": end_token.to_string(),
} }
current_state = yield self.state_handler.get_current_state(
event.room_id
)
d["state"] = [ d["state"] = [
serialize_event(c, time_now, as_client_event) serialize_event(c, time_now, as_client_event)
for c in current_state.values() for c in current_state.values()