From 37c92bf1209eced81f609d6b1103b2d440c47682 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Sat, 5 Sep 2020 19:58:24 -0400 Subject: [PATCH] fix await on servers, now both are listening --- src/main.rs | 7 ++++--- src/proxy.rs | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main.rs b/src/main.rs index f01d890..b9ac7bd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,8 @@ use std::process::exit; use clap::{Arg, ArgMatches, App}; +use futures_util::future::join; + use pnet::datalink; use whoami; @@ -117,8 +119,7 @@ async fn main() { let proxy_port = args.value_of("proxy_port").unwrap().parse::().unwrap(); let proxy_ip = proxy_bind_addr.unwrap().ip(); - let proxy = start_proxy(dns1_ip, dns2_ip, proxy_ip, proxy_port); let admin = start_admin(admin_port, proxy_ip.to_string(), proxy_port, password_hash); - proxy.await; - admin.await; + let proxy = start_proxy(dns1_ip, dns2_ip, proxy_ip, proxy_port); + join(admin, proxy).await; } diff --git a/src/proxy.rs b/src/proxy.rs index 3032ead..5110c58 100644 --- a/src/proxy.rs +++ b/src/proxy.rs @@ -66,8 +66,10 @@ pub async fn start_proxy (dns1_ip : &str, } }); - Server::bind(&addr).serve(make_service); + let server = Server::bind(&addr).serve(make_service); eprintln!("Proxy listening on {}", addr); + let result = server.await; + eprintln!("Proxy await result: {:?}", result); } async fn proxy(client: Client>>,