Don't panic if peer_addr() fails (#7678) (#7679)

automerge
This commit is contained in:
mergify[bot]
2020-01-04 10:39:22 -08:00
committed by Grimes
parent da58a272dd
commit c82c18353d

View File

@ -41,11 +41,17 @@ pub fn ip_echo_server(tcp: std::net::TcpListener) -> IpEchoServer {
let server = tcp
.incoming()
.map_err(|err| warn!("accept failed: {:?}", err))
.for_each(move |socket| {
let peer_addr = socket.peer_addr().expect("Expect peer_addr()");
info!("connection from {:?}", peer_addr);
let framed = BytesCodec::new().framed(socket);
.filter_map(|socket| match socket.peer_addr() {
Ok(peer_addr) => {
info!("connection from {:?}", peer_addr);
Some((peer_addr, BytesCodec::new().framed(socket)))
}
Err(err) => {
info!("peer_addr failed for {:?}: {:?}", socket, err);
None
}
})
.for_each(move |(peer_addr, framed)| {
let (writer, reader) = framed.split();
let processor = reader