(
globals: Arc<Globals>,
runtime_handle: Handle,
listeners: Vec<(std::net::TcpListener, std::net::UdpSocket)>,
)
| 507 | } |
| 508 | |
| 509 | async fn start( |
| 510 | globals: Arc<Globals>, |
| 511 | runtime_handle: Handle, |
| 512 | listeners: Vec<(std::net::TcpListener, std::net::UdpSocket)>, |
| 513 | ) -> Result<(), Error> { |
| 514 | for listener in listeners { |
| 515 | let tcp_listener_str = format!("{:?}", listener.0); |
| 516 | let tokio_tcp_listener = match TcpListener::from_std(listener.0) { |
| 517 | Ok(tcp_listener) => tcp_listener, |
| 518 | Err(e) => bail!("{}/TCP: {}", tcp_listener_str, e), |
| 519 | }; |
| 520 | runtime_handle.spawn(tcp_acceptor(globals.clone(), tokio_tcp_listener).map(|_| {})); |
| 521 | runtime_handle.spawn(udp_acceptor(globals.clone(), listener.1).map(|_| {})); |
| 522 | } |
| 523 | Ok(()) |
| 524 | } |
| 525 | |
| 526 | fn bind_listeners( |
| 527 | listen_addrs: &[SocketAddr], |
no test coverage detected