refactor incoming extremities retention; broad filter, single pass

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk 2025-01-30 04:39:24 +00:00
parent 31c2968bb2
commit 1a8482b3b4
4 changed files with 74 additions and 68 deletions

View file

@ -1,6 +1,7 @@
use std::{
borrow::Borrow,
collections::{BTreeMap, HashMap, HashSet},
iter::once,
net::IpAddr,
sync::Arc,
};
@ -1216,7 +1217,7 @@ async fn join_room_by_id_helper_remote(
.append_pdu(
&parsed_join_pdu,
join_event,
vec![(*parsed_join_pdu.event_id).to_owned()],
once(parsed_join_pdu.event_id.borrow()),
&state_lock,
)
.await?;
@ -2195,7 +2196,7 @@ async fn knock_room_helper_local(
.append_pdu(
&parsed_knock_pdu,
knock_event,
vec![(*parsed_knock_pdu.event_id).to_owned()],
once(parsed_knock_pdu.event_id.borrow()),
&state_lock,
)
.await?;
@ -2394,7 +2395,7 @@ async fn knock_room_helper_remote(
.append_pdu(
&parsed_knock_pdu,
knock_event,
vec![(*parsed_knock_pdu.event_id).to_owned()],
once(parsed_knock_pdu.event_id.borrow()),
&state_lock,
)
.await?;