Filtering topology by node version

This commit is contained in:
Jedrzej Stuczynski
2020-01-14 12:40:04 +00:00
parent 505a0bd0b0
commit 63cebd27cd
+24 -4
View File
@@ -165,10 +165,30 @@ pub trait NymTopology: Sized {
Ok(all_paths)
}
fn filter_node_versions(&self, mix_version: &str, provider_version: &str, coco_version: &str) -> Self {
let filtered_mixes = self.get_mix_nodes().iter().cloned().filter(|mix_node| mix_node.version == mix_version).collect();
let filtered_providers = self.get_mix_provider_nodes().iter().cloned().filter(|provider_node| provider_node.version == provider_version).collect();
let filtered_coco_nodes = self.get_coco_nodes().iter().cloned().filter(|coco_node| coco_node.version == coco_version).collect();
fn filter_node_versions(
&self,
mix_version: &str,
provider_version: &str,
coco_version: &str,
) -> Self {
let filtered_mixes = self
.get_mix_nodes()
.iter()
.cloned()
.filter(|mix_node| mix_node.version == mix_version)
.collect();
let filtered_providers = self
.get_mix_provider_nodes()
.iter()
.cloned()
.filter(|provider_node| provider_node.version == provider_version)
.collect();
let filtered_coco_nodes = self
.get_coco_nodes()
.iter()
.cloned()
.filter(|coco_node| coco_node.version == coco_version)
.collect();
Self::new_from_nodes(filtered_mixes, filtered_providers, filtered_coco_nodes)
}