diff options
Diffstat (limited to 'karld/src/interface/tcp.rs')
-rw-r--r-- | karld/src/interface/tcp.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/karld/src/interface/tcp.rs b/karld/src/interface/tcp.rs index 296701b..94e961f 100644 --- a/karld/src/interface/tcp.rs +++ b/karld/src/interface/tcp.rs @@ -1,7 +1,6 @@ -use crate::interface::generic::generic_handle_connection; -use crate::CLIENT_ID_COUNTER; +use crate::interface::generic; use karlcommon::interfaces::tcp_addr; -use log::{info, warn}; +use log::info; use std::net::TcpListener; use std::thread; @@ -9,17 +8,10 @@ pub fn run() { info!("binding to socket"); let listener = TcpListener::bind(tcp_addr()).unwrap(); info!("listening."); - loop { - let (stream, addr) = listener.accept().unwrap(); - let id = CLIENT_ID_COUNTER.fetch_add(1, std::sync::atomic::Ordering::Relaxed); + let (stream, _addr) = listener.accept().unwrap(); thread::spawn(move || { - info!("client connected: {:?}", addr); - if let Err(err) = generic_handle_connection(id, stream.try_clone().unwrap(), stream) { - warn!("client dropped: {:?} ({})", addr, err); - } else { - info!("client dropped: {:?}", addr); - } + generic::handle_connection(generic::stream, (stream.try_clone().unwrap(), stream)) }); } } |