diff options
author | Hyun Jae Moon <hyunjaemoon@google.com> | 2023-04-20 16:19:39 +0000 |
---|---|---|
committer | Hyun Jae Moon <hyunjaemoon@google.com> | 2023-04-20 18:55:23 +0000 |
commit | 55c40ff74e0b3b6c0714133e30e73729fd65039d (patch) | |
tree | 6f46e766928abf347e4cac320ca559552c900c80 | |
parent | cb93df622269d6e05548d2a65ee0002aff65141f (diff) | |
download | netsim-55c40ff74e0b3b6c0714133e30e73729fd65039d.tar.gz |
Add guard to http server listener adress binding
If port not available, prints error log and quits frontend http server
Error message: "netsim D: bind error in netsimd frontend http server. Address already in use (os error 98)"
Change-Id: I00830fe8ad7dc7d7620deb55aed9eff86daad266
-rw-r--r-- | rust/netsim-cxx/src/http_server/mod.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/rust/netsim-cxx/src/http_server/mod.rs b/rust/netsim-cxx/src/http_server/mod.rs index 0347cf42..e3640ce5 100644 --- a/rust/netsim-cxx/src/http_server/mod.rs +++ b/rust/netsim-cxx/src/http_server/mod.rs @@ -44,9 +44,15 @@ use std::sync::Arc; const PATH_PREFIXES: [&str; 3] = ["js", "assets", "node_modules/tslib"]; pub fn run_http_server() { - let listener = TcpListener::bind("127.0.0.1:7681").unwrap(); + let listener = match TcpListener::bind("127.0.0.1:7681") { + Ok(listener) => listener, + Err(e) => { + eprintln!("netsimd: bind error in netsimd frontend http server. {}", e); + return; + } + }; let pool = ThreadPool::new(4); - println!("Frontend http server is listening on http://localhost:7681"); + println!("netsimd: Frontend http server is listening on http://localhost:7681"); let valid_files = Arc::new(create_filename_hash_set()); for stream in listener.incoming() { let stream = stream.unwrap(); @@ -56,7 +62,7 @@ pub fn run_http_server() { }); } - println!("Shutting down frontend http server."); + println!("netsimd: Shutting down frontend http server."); } fn ui_path(suffix: &str) -> PathBuf { |