fix(acl): acl group cache add self group info (#1445)

This commit is contained in:
Mg Pig
2025-10-07 23:56:26 +08:00
committed by GitHub
parent a452c34390
commit af95312949
2 changed files with 187 additions and 1 deletions
+14
View File
@@ -525,8 +525,10 @@ impl SyncedRouteInfo {
let new_version = new.version;
let old_version = old.version;
*old = new;
drop(old);
if new_version != old_version {
self.update_my_group_trusts(my_peer_id);
self.version.inc();
true
} else {
@@ -707,6 +709,18 @@ impl SyncedRouteInfo {
}
}
}
fn update_my_group_trusts(&self, my_peer_id: PeerId) {
let mut my_group_map = HashMap::new();
let mut my_group_names = Vec::new();
for group in self.peer_infos.entry(my_peer_id).or_default().groups.iter() {
my_group_map.insert(group.group_name.clone(), group.group_proof.clone());
my_group_names.push(group.group_name.clone());
}
self.group_trust_map.insert(my_peer_id, my_group_map);
self.group_trust_map_cache
.insert(my_peer_id, Arc::new(my_group_names));
}
}
type PeerGraph = Graph<PeerId, usize, Directed>;