Merge branch 'claimfast' into 'next'
improvement: more efficient /claim See merge request famedly/conduit!389
This commit is contained in:
commit
4d982d05af
|
@ -440,13 +440,16 @@ pub(crate) async fn claim_keys_helper(
|
|||
|
||||
let mut failures = BTreeMap::new();
|
||||
|
||||
for (server, vec) in get_over_federation {
|
||||
let mut futures: FuturesUnordered<_> = get_over_federation
|
||||
.into_iter()
|
||||
.map(|(server, vec)| async move {
|
||||
let mut one_time_keys_input_fed = BTreeMap::new();
|
||||
for (user_id, keys) in vec {
|
||||
one_time_keys_input_fed.insert(user_id.clone(), keys.clone());
|
||||
}
|
||||
// Ignore failures
|
||||
if let Ok(keys) = services()
|
||||
(
|
||||
server,
|
||||
services()
|
||||
.sending
|
||||
.send_federation_request(
|
||||
server,
|
||||
|
@ -454,13 +457,20 @@ pub(crate) async fn claim_keys_helper(
|
|||
one_time_keys: one_time_keys_input_fed,
|
||||
},
|
||||
)
|
||||
.await
|
||||
{
|
||||
.await,
|
||||
)
|
||||
}).collect();
|
||||
|
||||
while let Some((server, response)) = futures.next().await {
|
||||
match response {
|
||||
Ok(keys) => {
|
||||
one_time_keys.extend(keys.one_time_keys);
|
||||
} else {
|
||||
}
|
||||
Err(_e) => {
|
||||
failures.insert(server.to_string(), json!({}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ok(claim_keys::v3::Response {
|
||||
failures,
|
||||
|
|
Loading…
Reference in New Issue