mirror of
				https://codeberg.org/slatian/service.echoip-slatecave.git
				synced 2025-10-31 00:48:07 +01:00 
			
		
		
		
	Aded ranking of resolvers by a weight value
This commit is contained in:
		
							
								
								
									
										14
									
								
								src/main.rs
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								src/main.rs
									
									
									
									
									
								
							| @@ -245,7 +245,8 @@ async fn main() { | ||||
|  | ||||
| 	dns_resolver_selectables.push(Selectable { | ||||
| 		id: "default".to_string(), | ||||
| 		name: "System".to_string() | ||||
| 		name: "System".to_string(), | ||||
| 		weight: 1000, | ||||
| 	}); | ||||
|  | ||||
| 	//FIXME: Not release ready,must be configurable and have better error handling. | ||||
| @@ -256,7 +257,8 @@ async fn main() { | ||||
| 	).unwrap(); | ||||
| 	dns_resolver_selectables.push(Selectable { | ||||
| 		id: "quad9".to_string(), | ||||
| 		name: "Quad9".to_string() | ||||
| 		name: "Quad9".to_string(), | ||||
| 		weight: 500 | ||||
| 	}); | ||||
| 	println!("Initalizing Google resolver ..."); | ||||
| 	let google_resolver = TokioAsyncResolver::tokio( | ||||
| @@ -265,7 +267,8 @@ async fn main() { | ||||
| 	).unwrap(); | ||||
| 	dns_resolver_selectables.push(Selectable { | ||||
| 		id: "google".to_string(), | ||||
| 		name: "Google".to_string() | ||||
| 		name: "Google".to_string(), | ||||
| 		weight: 10, | ||||
| 	}); | ||||
| 	println!("Initalizing Cloudflare resolver ..."); | ||||
| 	let cloudflare_resolver = TokioAsyncResolver::tokio( | ||||
| @@ -274,7 +277,8 @@ async fn main() { | ||||
| 	).unwrap(); | ||||
| 	dns_resolver_selectables.push(Selectable { | ||||
| 		id: "cloudflare".to_string(), | ||||
| 		name: "Cloudflare".to_string() | ||||
| 		name: "Cloudflare".to_string(), | ||||
| 		weight: 20, | ||||
| 	}); | ||||
|  | ||||
| 	let mut dns_resolver_map: HashMap<String,TokioAsyncResolver> = HashMap::new(); | ||||
| @@ -289,6 +293,7 @@ async fn main() { | ||||
| 		dns_resolver_selectables.push(Selectable { | ||||
| 			id: key.clone(), | ||||
| 			name: resolver_config.display_name.clone(), | ||||
| 			weight: resolver_config.weight, | ||||
| 		}); | ||||
| 	} | ||||
| 	 | ||||
| @@ -311,6 +316,7 @@ async fn main() { | ||||
| 		config: config.clone(), | ||||
| 	}); | ||||
|  | ||||
| 	dns_resolver_selectables.sort_by(|a,b| b.weight.cmp(&a.weight)); | ||||
| 	let derived_config = DerivedConfiguration { | ||||
| 		dns_resolver_selectables: dns_resolver_selectables, | ||||
| 	}; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user