1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-02-20 07:40:33 +01:00
This commit is contained in:
Rob Ede 2021-11-01 23:41:28 +00:00
parent 581e599209
commit 81d7295486
2 changed files with 11 additions and 13 deletions

View File

@ -446,30 +446,28 @@ pub(super) fn bind_addr<S: ToSocketAddrs>(
backlog: u32, backlog: u32,
) -> io::Result<Vec<MioTcpListener>> { ) -> io::Result<Vec<MioTcpListener>> {
let mut err = None; let mut err = None;
let mut succ = false; let mut success = false;
let mut sockets = Vec::new(); let mut sockets = Vec::new();
for addr in addr.to_socket_addrs()? { for addr in addr.to_socket_addrs()? {
match create_tcp_listener(addr, backlog) { match create_tcp_listener(addr, backlog) {
Ok(lst) => { Ok(lst) => {
succ = true; success = true;
sockets.push(lst); sockets.push(lst);
} }
Err(e) => err = Some(e), Err(e) => err = Some(e),
} }
} }
if !succ { if success {
if let Some(e) = err.take() { Ok(sockets)
Err(e) } else if let Some(err) = err.take() {
Err(err)
} else { } else {
Err(io::Error::new( Err(io::Error::new(
io::ErrorKind::Other, io::ErrorKind::Other,
"Can not bind to address.", "Can not bind to address.",
)) ))
} }
} else {
Ok(sockets)
}
} }
fn create_tcp_listener(addr: StdSocketAddr, backlog: u32) -> io::Result<MioTcpListener> { fn create_tcp_listener(addr: StdSocketAddr, backlog: u32) -> io::Result<MioTcpListener> {

View File

@ -30,7 +30,7 @@ use std::{
}; };
use actix_rt::net::TcpStream; use actix_rt::net::TcpStream;
use actix_server::{Server, ServerHandle}; use actix_server::Server;
use actix_service::ServiceFactoryExt as _; use actix_service::ServiceFactoryExt as _;
use actix_tls::accept::rustls::{Acceptor as RustlsAcceptor, TlsStream}; use actix_tls::accept::rustls::{Acceptor as RustlsAcceptor, TlsStream};
use futures_util::future::ok; use futures_util::future::ok;