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.pull/5030/head
							parent
							
								
									3352baac4b
								
							
						
					
					
						commit
						f88a9e6323
					
				| 
						 | 
				
			
			@ -275,10 +275,6 @@ class Keyring(object):
 | 
			
		|||
        @defer.inlineCallbacks
 | 
			
		||||
        def do_iterations():
 | 
			
		||||
            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
 | 
			
		||||
                missing_keys = {}
 | 
			
		||||
                for verify_request in verify_requests:
 | 
			
		||||
| 
						 | 
				
			
			@ -288,21 +284,22 @@ class Keyring(object):
 | 
			
		|||
 | 
			
		||||
                for fn in key_fetch_fns:
 | 
			
		||||
                    results = yield fn(missing_keys.items())
 | 
			
		||||
                    merged_results.update(results)
 | 
			
		||||
 | 
			
		||||
                    # We now need to figure out which verify requests we have keys
 | 
			
		||||
                    # for and which we don't
 | 
			
		||||
                    missing_keys = {}
 | 
			
		||||
                    requests_missing_keys = []
 | 
			
		||||
                    for verify_request in verify_requests:
 | 
			
		||||
                        server_name = verify_request.server_name
 | 
			
		||||
                        result_keys = merged_results[server_name]
 | 
			
		||||
 | 
			
		||||
                        if verify_request.deferred.called:
 | 
			
		||||
                            # We've already called this deferred, which probably
 | 
			
		||||
                            # means that we've already found a key for it.
 | 
			
		||||
                            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:
 | 
			
		||||
                            if key_id in result_keys:
 | 
			
		||||
                                with PreserveLoggingContext():
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue