aboutsummaryrefslogtreecommitdiffstats
path: root/src/simtest
diff options
context:
space:
mode:
Diffstat (limited to 'src/simtest')
-rw-r--r--src/simtest/bench.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/simtest/bench.rs b/src/simtest/bench.rs
index 40b413d..39e054e 100644
--- a/src/simtest/bench.rs
+++ b/src/simtest/bench.rs
@@ -600,7 +600,15 @@ async fn trees(out: &mut String, nodes: &[AppState], net: &crate::transport::sim
};
let mut latencies = Vec::new();
for node in nodes {
- latencies.extend(crate::swarm::tree::own_latencies(node, &latency).await);
+ // Each member's parent in this node's tree, as the member chose it.
+ let mut parents = std::collections::HashMap::new();
+ for member in nodes {
+ if member.local_id() != node.local_id() {
+ let chosen = crate::swarm::tree::own_parent(member, node.local_id()).await;
+ parents.insert(member.local_id().to_owned(), chosen);
+ }
+ }
+ latencies.extend(crate::swarm::tree::own_latencies(node, &parents, &latency).await);
}
let members: usize = latencies.iter().map(|l| l.members).sum();
if members == 0 {