mirror of
https://mau.dev/maunium/synapse.git
synced 2024-10-01 01:36:05 -04:00
Remove redundant merged_keys dict
There's no point in collecting a merged dict of keys: it is sufficient to consider just the new keys which have been fetched by the most recent key_fetch_fns.
This commit is contained in:
parent
3352baac4b
commit
f88a9e6323
@ -275,10 +275,6 @@ class Keyring(object):
|
|||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def do_iterations():
|
def do_iterations():
|
||||||
with Measure(self.clock, "get_server_verify_keys"):
|
with Measure(self.clock, "get_server_verify_keys"):
|
||||||
# dict[str, dict[str, VerifyKey]]: results so far.
|
|
||||||
# map server_name -> key_id -> VerifyKey
|
|
||||||
merged_results = {}
|
|
||||||
|
|
||||||
# dict[str, set(str)]: keys to fetch for each server
|
# dict[str, set(str)]: keys to fetch for each server
|
||||||
missing_keys = {}
|
missing_keys = {}
|
||||||
for verify_request in verify_requests:
|
for verify_request in verify_requests:
|
||||||
@ -288,21 +284,22 @@ class Keyring(object):
|
|||||||
|
|
||||||
for fn in key_fetch_fns:
|
for fn in key_fetch_fns:
|
||||||
results = yield fn(missing_keys.items())
|
results = yield fn(missing_keys.items())
|
||||||
merged_results.update(results)
|
|
||||||
|
|
||||||
# We now need to figure out which verify requests we have keys
|
# We now need to figure out which verify requests we have keys
|
||||||
# for and which we don't
|
# for and which we don't
|
||||||
missing_keys = {}
|
missing_keys = {}
|
||||||
requests_missing_keys = []
|
requests_missing_keys = []
|
||||||
for verify_request in verify_requests:
|
for verify_request in verify_requests:
|
||||||
server_name = verify_request.server_name
|
|
||||||
result_keys = merged_results[server_name]
|
|
||||||
|
|
||||||
if verify_request.deferred.called:
|
if verify_request.deferred.called:
|
||||||
# We've already called this deferred, which probably
|
# We've already called this deferred, which probably
|
||||||
# means that we've already found a key for it.
|
# means that we've already found a key for it.
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
server_name = verify_request.server_name
|
||||||
|
|
||||||
|
# see if any of the keys we got this time are sufficient to
|
||||||
|
# complete this VerifyKeyRequest.
|
||||||
|
result_keys = results.get(server_name, {})
|
||||||
for key_id in verify_request.key_ids:
|
for key_id in verify_request.key_ids:
|
||||||
if key_id in result_keys:
|
if key_id in result_keys:
|
||||||
with PreserveLoggingContext():
|
with PreserveLoggingContext():
|
||||||
|
Loading…
Reference in New Issue
Block a user