Skip to content
Snippets Groups Projects
Commit d28db583 authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Merge pull request #2063 from matrix-org/erikj/device_list_batch

Batch sending of device list pokes
parents dc56a6b8 2a28b79e
No related branches found
No related tags found
No related merge requests found
......@@ -309,6 +309,7 @@ class TransactionQueue(object):
# XXX: what's this for?
yield run_on_reactor()
pending_pdus = []
while True:
device_message_edus, device_stream_id, dev_list_id = (
yield self._get_new_device_messages(destination)
......
......@@ -329,6 +329,7 @@ class DeviceStore(SQLBaseStore):
SELECT user_id, device_id, max(stream_id) FROM device_lists_outbound_pokes
WHERE destination = ? AND ? < stream_id AND stream_id <= ? AND sent = ?
GROUP BY user_id, device_id
LIMIT 20
"""
txn.execute(
sql, (destination, from_stream_id, now_stream_id, False)
......@@ -339,6 +340,9 @@ class DeviceStore(SQLBaseStore):
if not query_map:
return (now_stream_id, [])
if len(query_map) >= 20:
now_stream_id = max(stream_id for stream_id in query_map.itervalues())
devices = self._get_e2e_device_keys_txn(
txn, query_map.keys(), include_all_devices=True
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment