summary refs log tree commit diff
path: root/synapse/handlers/message.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2015-08-17 10:40:23 +0100
committerErik Johnston <erik@matrix.org>2015-08-17 10:40:23 +0100
commit1a9510bb84d79f6ff78d32390195bc97ed9a439e (patch)
treeb9ac0d1785e86d885e054070213c51428e9102f6 /synapse/handlers/message.py
parentAdd batched version of store.get_presence_state (diff)
downloadsynapse-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.py18
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