Do more parellelization for initialSync

This commit is contained in:
Erik Johnston 2015-04-15 14:21:59 +01:00
parent 1ec6fa98c9
commit bc6cef823f
1 changed files with 11 additions and 7 deletions

View File

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