File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ use std::{
88
99use tokio:: sync:: RwLock ;
1010
11+ use crate :: third_ext:: FutureJoinAllExt ;
1112use crate :: {
1213 dns:: DnsResponse ,
1314 dns_conf:: NameServerInfo ,
@@ -219,9 +220,7 @@ impl DnsClientBuilder {
219220 }
220221 }
221222
222- for s in server_groups. values ( ) {
223- s. warmup ( ) . await ;
224- }
223+ server_groups. values ( ) . map ( |s| s. warmup ( ) ) . join_all ( ) . await ;
225224
226225 DnsClient {
227226 default : default_group_servers,
@@ -361,9 +360,10 @@ mod name_server_group {
361360
362361 impl NameServerGroup {
363362 pub async fn warmup ( & self ) {
364- for server in self . servers . iter ( ) {
365- let _ = server. warmup ( ) . await ;
366- }
363+ let futures = self . servers . iter ( ) . map ( |server| {
364+ tokio:: time:: timeout ( std:: time:: Duration :: from_secs ( 5 ) , server. warmup ( ) )
365+ } ) ;
366+ futures. join_all ( ) . await ;
367367 }
368368 #[ inline]
369369 pub fn iter ( & self ) -> Iter < ' _ , Arc < NameServer > > {
You can’t perform that action at this time.
0 commit comments