1616
1717import itertools
1818import logging
19+ from typing import Iterable , Tuple
1920
2021from signedjson .key import decode_verify_key_bytes
2122
@@ -88,12 +89,17 @@ def _txn(txn):
8889
8990 return self .db_pool .runInteraction ("get_server_verify_keys" , _txn )
9091
91- def store_server_verify_keys (self , from_server , ts_added_ms , verify_keys ):
92+ async def store_server_verify_keys (
93+ self ,
94+ from_server : str ,
95+ ts_added_ms : int ,
96+ verify_keys : Iterable [Tuple [str , str , FetchKeyResult ]],
97+ ) -> None :
9298 """Stores NACL verification keys for remote servers.
9399 Args:
94- from_server (str) : Where the verification keys were looked up
95- ts_added_ms (int) : The time to record that the key was added
96- verify_keys (iterable[tuple[str, str, FetchKeyResult]]) :
100+ from_server: Where the verification keys were looked up
101+ ts_added_ms: The time to record that the key was added
102+ verify_keys:
97103 keys to be stored. Each entry is a triplet of
98104 (server_name, key_id, key).
99105 """
@@ -115,13 +121,7 @@ def store_server_verify_keys(self, from_server, ts_added_ms, verify_keys):
115121 # param, which is itself the 2-tuple (server_name, key_id).
116122 invalidations .append ((server_name , key_id ))
117123
118- def _invalidate (res ):
119- f = self ._get_server_verify_key .invalidate
120- for i in invalidations :
121- f ((i ,))
122- return res
123-
124- return self .db_pool .runInteraction (
124+ await self .db_pool .runInteraction (
125125 "store_server_verify_keys" ,
126126 self .db_pool .simple_upsert_many_txn ,
127127 table = "server_signature_keys" ,
@@ -134,7 +134,11 @@ def _invalidate(res):
134134 "verify_key" ,
135135 ),
136136 value_values = value_values ,
137- ).addCallback (_invalidate )
137+ )
138+
139+ invalidate = self ._get_server_verify_key .invalidate
140+ for i in invalidations :
141+ invalidate ((i ,))
138142
139143 def store_server_keys_json (
140144 self , server_name , key_id , from_server , ts_now_ms , ts_expires_ms , key_json_bytes
0 commit comments