@@ -4,7 +4,6 @@ use std::collections::VecDeque;
4
4
use std:: io;
5
5
use std:: mem;
6
6
use std:: net:: SocketAddr ;
7
- use std:: net:: ToSocketAddrs ;
8
7
#[ cfg( unix) ]
9
8
use std:: path:: Path ;
10
9
use std:: pin:: Pin ;
@@ -14,6 +13,7 @@ use combine::{parser::combinator::AnySendSyncPartialState, stream::PointerOffset
14
13
15
14
use :: tokio:: {
16
15
io:: { AsyncRead , AsyncWrite , AsyncWriteExt } ,
16
+ net:: lookup_host,
17
17
sync:: { mpsc, oneshot} ,
18
18
} ;
19
19
@@ -456,7 +456,7 @@ pub(crate) async fn connect_simple<T: RedisRuntime>(
456
456
) -> RedisResult < T > {
457
457
Ok ( match connection_info. addr {
458
458
ConnectionAddr :: Tcp ( ref host, port) => {
459
- let socket_addr = get_socket_addrs ( host, port) ?;
459
+ let socket_addr = get_socket_addrs ( host, port) . await ?;
460
460
<T >:: connect_tcp ( socket_addr) . await ?
461
461
}
462
462
@@ -466,7 +466,7 @@ pub(crate) async fn connect_simple<T: RedisRuntime>(
466
466
port,
467
467
insecure,
468
468
} => {
469
- let socket_addr = get_socket_addrs ( host, port) ?;
469
+ let socket_addr = get_socket_addrs ( host, port) . await ?;
470
470
<T >:: connect_tcp_tls ( host, socket_addr, insecure) . await ?
471
471
}
472
472
@@ -492,8 +492,8 @@ pub(crate) async fn connect_simple<T: RedisRuntime>(
492
492
} )
493
493
}
494
494
495
- fn get_socket_addrs ( host : & str , port : u16 ) -> RedisResult < SocketAddr > {
496
- let mut socket_addrs = ( host, port) . to_socket_addrs ( ) ?;
495
+ async fn get_socket_addrs ( host : & str , port : u16 ) -> RedisResult < SocketAddr > {
496
+ let mut socket_addrs = lookup_host ( ( host, port) ) . await ?;
497
497
match socket_addrs. next ( ) {
498
498
Some ( socket_addr) => Ok ( socket_addr) ,
499
499
None => Err ( RedisError :: from ( (
0 commit comments