diff options
author | Allen George <allengeorge@apache.org> | 2019-12-14 09:52:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-14 09:52:36 -0500 |
commit | 6e443789e9006f4e291974d179b839b3e5ea8798 (patch) | |
tree | 422b0756e12dad1740555c864b2d129b9f3a8d91 /lib/rs | |
parent | 44d8cc6b435557ef5ba9e4c9df91b2f114a5bfa0 (diff) | |
parent | 98ce2c8f2b3bb5aaee3e67a5b461dd1a87685cc0 (diff) | |
download | thrift-6e443789e9006f4e291974d179b839b3e5ea8798.tar.gz |
Merge pull request #1919 from mpajkowski/to_socket_addrs
THRIFT-4995 Use `ToSocketAddrs` for expressing network addresses
Diffstat (limited to 'lib/rs')
-rw-r--r-- | lib/rs/src/server/threaded.rs | 7 | ||||
-rw-r--r-- | lib/rs/src/transport/socket.rs | 6 |
2 files changed, 6 insertions, 7 deletions
diff --git a/lib/rs/src/server/threaded.rs b/lib/rs/src/server/threaded.rs index b33239aab..ebd37207d 100644 --- a/lib/rs/src/server/threaded.rs +++ b/lib/rs/src/server/threaded.rs @@ -15,7 +15,7 @@ // specific language governing permissions and limitations // under the License. -use std::net::{TcpListener, TcpStream}; +use std::net::{TcpListener, TcpStream, ToSocketAddrs}; use std::sync::Arc; use threadpool::ThreadPool; @@ -162,14 +162,13 @@ where /// Listen for incoming connections on `listen_address`. /// - /// `listen_address` should be in the form `host:port`, - /// for example: `127.0.0.1:8080`. + /// `listen_address` should implement `ToSocketAddrs` trait. /// /// Return `()` if successful. /// /// Return `Err` when the server cannot bind to `listen_address` or there /// is an unrecoverable error. - pub fn listen(&mut self, listen_address: &str) -> ::Result<()> { + pub fn listen<A: ToSocketAddrs>(&mut self, listen_address: A) -> ::Result<()> { let listener = TcpListener::bind(listen_address)?; for stream in listener.incoming() { match stream { diff --git a/lib/rs/src/transport/socket.rs b/lib/rs/src/transport/socket.rs index 0bef67bed..a2e567e19 100644 --- a/lib/rs/src/transport/socket.rs +++ b/lib/rs/src/transport/socket.rs @@ -18,7 +18,7 @@ use std::convert::From; use std::io; use std::io::{ErrorKind, Read, Write}; -use std::net::{Shutdown, TcpStream}; +use std::net::{Shutdown, TcpStream, ToSocketAddrs}; use super::{ReadHalf, TIoChannel, WriteHalf}; use {new_transport_error, TransportErrorKind}; @@ -81,8 +81,8 @@ impl TTcpChannel { } } - /// Connect to `remote_address`, which should have the form `host:port`. - pub fn open(&mut self, remote_address: &str) -> ::Result<()> { + /// Connect to `remote_address`, which should implement `ToSocketAddrs` trait. + pub fn open<A: ToSocketAddrs>(&mut self, remote_address: A) -> ::Result<()> { if self.stream.is_some() { Err(new_transport_error( TransportErrorKind::AlreadyOpen, |