aboutsummaryrefslogtreecommitdiff
path: root/karld/src/interface/tcp.rs
diff options
context:
space:
mode:
Diffstat (limited to 'karld/src/interface/tcp.rs')
-rw-r--r--karld/src/interface/tcp.rs16
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))
});
}
}