11use openssl:: ssl:: SslStream ;
2- use std:: io:: net;
3- use std:: io:: net:: ip:: { Port , SocketAddr } ;
2+ use std:: io:: net:: ip:: Port ;
43use std:: io:: net:: tcp:: TcpStream ;
54use std:: io:: net:: unix:: UnixStream ;
65use std:: io:: { Stream , IoResult } ;
@@ -14,7 +13,6 @@ use {PostgresConnectParams,
1413 TargetUnix } ;
1514use error:: { PostgresConnectError ,
1615 PgConnectStreamError ,
17- DnsError ,
1816 NoSslSupport ,
1917 SslError ,
2018 SocketError } ;
@@ -25,20 +23,7 @@ static DEFAULT_PORT: Port = 5432;
2523
2624fn open_tcp_socket ( host : & str , port : Port ) -> Result < TcpStream ,
2725 PostgresConnectError > {
28- let addrs = match net:: get_host_addresses ( host) {
29- Ok ( addrs) => addrs,
30- Err ( err) => return Err ( DnsError ( err) )
31- } ;
32-
33- let mut err = None ;
34- for & addr in addrs. iter ( ) {
35- match TcpStream :: connect ( SocketAddr { ip : addr, port : port } ) {
36- Ok ( socket) => return Ok ( socket) ,
37- Err ( e) => err = Some ( e)
38- }
39- }
40-
41- Err ( SocketError ( err. unwrap ( ) ) )
26+ TcpStream :: connect ( host, port) . map_err ( |e| SocketError ( e) )
4227}
4328
4429fn open_unix_socket ( path : & Path , port : Port ) -> Result < UnixStream ,
@@ -150,4 +135,3 @@ pub fn initialize_stream(params: &PostgresConnectParams, ssl: &SslMode)
150135 Err ( err) => Err ( SslError ( err) )
151136 }
152137}
153-
0 commit comments