diff options
author | Erik Johnston <erik@matrix.org> | 2015-08-17 10:40:23 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2015-08-17 10:40:23 +0100 |
commit | 1a9510bb84d79f6ff78d32390195bc97ed9a439e (patch) | |
tree | b9ac0d1785e86d885e054070213c51428e9102f6 /synapse/handlers/message.py | |
parent | Add batched version of store.get_presence_state (diff) | |
download | synapse-1a9510bb84d79f6ff78d32390195bc97ed9a439e.tar.xz |
Implement a batched presence_handler.get_state and use it
Diffstat (limited to 'synapse/handlers/message.py')
-rw-r--r-- | synapse/handlers/message.py | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py index 29e81085d1..f12465fa2c 100644 --- a/synapse/handlers/message.py +++ b/synapse/handlers/message.py @@ -460,20 +460,14 @@ class MessageHandler(BaseHandler): @defer.inlineCallbacks def get_presence(): - presence_defs = yield defer.DeferredList( - [ - presence_handler.get_state( - target_user=UserID.from_string(m.user_id), - auth_user=auth_user, - as_event=True, - check_auth=False, - ) - for m in room_members - ], - consumeErrors=True, + states = yield presence_handler.get_states( + target_users=[UserID.from_string(m.user_id) for m in room_members], + auth_user=auth_user, + as_event=True, + check_auth=False, ) - defer.returnValue([p for success, p in presence_defs if success]) + defer.returnValue(states.values()) receipts_handler = self.hs.get_handlers().receipts_handler |