MCPcopy Create free account
hub / github.com/DNSCrypt/encrypted-dns-server / start

Function start

src/main.rs:509–524  ·  view source on GitHub ↗
(
    globals: Arc<Globals>,
    runtime_handle: Handle,
    listeners: Vec<(std::net::TcpListener, std::net::UdpSocket)>,
)

Source from the content-addressed store, hash-verified

507}
508
509async 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
526fn bind_listeners(
527 listen_addrs: &[SocketAddr],

Callers 1

mainFunction · 0.85

Calls 2

tcp_acceptorFunction · 0.85
udp_acceptorFunction · 0.85

Tested by

no test coverage detected