summaryrefslogtreecommitdiff
path: root/lib/rs
diff options
context:
space:
mode:
authorAllen George <allengeorge@apache.org>2019-12-14 09:52:36 -0500
committerGitHub <noreply@github.com>2019-12-14 09:52:36 -0500
commit6e443789e9006f4e291974d179b839b3e5ea8798 (patch)
tree422b0756e12dad1740555c864b2d129b9f3a8d91 /lib/rs
parent44d8cc6b435557ef5ba9e4c9df91b2f114a5bfa0 (diff)
parent98ce2c8f2b3bb5aaee3e67a5b461dd1a87685cc0 (diff)
downloadthrift-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.rs7
-rw-r--r--lib/rs/src/transport/socket.rs6
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,