mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-03-19 11:10:55 +03:00
support for cmdline args and better error handling (#4)
* support for cmdline args and better error handling * make config.toml optional * dont abuse panic for error handling * update doc * more panics removed * more unwraps removed
This commit is contained in:
committed by
GitHub
parent
deb1548e21
commit
a2d2e904f8
@@ -60,11 +60,13 @@ impl Server {
|
||||
|
||||
pub fn listen(port: u16) -> Result<(Server, JoinHandle<()>), Box<dyn Error>> {
|
||||
let data: Arc<RwLock<HashMap<Request, MmapMut>>> = Arc::new(RwLock::new(HashMap::new()));
|
||||
let listen_addr = SocketAddr::new("0.0.0.0".parse().unwrap(), port);
|
||||
let listen_addr = SocketAddr::new("0.0.0.0".parse()?, port);
|
||||
let server = Server { data };
|
||||
let server_copy = server.clone();
|
||||
let thread = thread::spawn(move || {
|
||||
let listen_socket = TcpListener::bind(listen_addr).unwrap();
|
||||
let listen_socket = TcpListener::bind(listen_addr)?;
|
||||
let thread = thread::Builder::new()
|
||||
.name("tcp server".into())
|
||||
.spawn(move || {
|
||||
for stream in listen_socket.incoming() {
|
||||
match stream {
|
||||
Ok(stream) => {
|
||||
@@ -75,7 +77,7 @@ impl Server {
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
})?;
|
||||
Ok((server_copy, thread))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user