diff options
author | Mark Haines <mjark@negativecurvature.net> | 2015-02-09 18:09:30 +0000 |
---|---|---|
committer | Mark Haines <mjark@negativecurvature.net> | 2015-02-09 18:09:30 +0000 |
commit | 5c5f5c1f0e3a2369562e4e2fa96123e825dfa5f5 (patch) | |
tree | 04d26373c6db97aef4e4fb60b5c0e74c3ea24c3d /synapse/handlers/sync.py | |
parent | Merge pull request #57 from matrix-org/transaction_counters (diff) | |
parent | During room intial sync, only calculate current state once. (diff) | |
download | synapse-5c5f5c1f0e3a2369562e4e2fa96123e825dfa5f5.tar.xz |
Merge pull request #56 from matrix-org/room_initial_sync_perf
During room intial sync, only calculate current state once.
Diffstat (limited to 'synapse/handlers/sync.py')
-rw-r--r-- | synapse/handlers/sync.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 439164ae39..5af90cc5d1 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -175,9 +175,10 @@ class SyncHandler(BaseHandler): room_id, sync_config, now_token, ) - current_state_events = yield self.state_handler.get_current_state( + current_state = yield self.state_handler.get_current_state( room_id ) + current_state_events = current_state.values() defer.returnValue(RoomSyncResult( room_id=room_id, @@ -347,9 +348,10 @@ class SyncHandler(BaseHandler): # TODO(mjark): This seems racy since this isn't being passed a # token to indicate what point in the stream this is - current_state_events = yield self.state_handler.get_current_state( + current_state = yield self.state_handler.get_current_state( room_id ) + current_state_events = current_state.values() state_at_previous_sync = yield self.get_state_at_previous_sync( room_id, since_token=since_token @@ -431,6 +433,7 @@ class SyncHandler(BaseHandler): joined = True if joined: - state_delta = yield self.state_handler.get_current_state(room_id) + res = yield self.state_handler.get_current_state(room_id) + state_delta = res.values() defer.returnValue(state_delta) |