aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyun Jae Moon <hyunjaemoon@google.com>2023-04-20 16:19:39 +0000
committerHyun Jae Moon <hyunjaemoon@google.com>2023-04-20 18:55:23 +0000
commit55c40ff74e0b3b6c0714133e30e73729fd65039d (patch)
tree6f46e766928abf347e4cac320ca559552c900c80
parentcb93df622269d6e05548d2a65ee0002aff65141f (diff)
downloadnetsim-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.rs12
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 {