aboutsummaryrefslogtreecommitdiff
path: root/karld/src/interface/tcp.rs
blob: 94e961f407a511e1c606727de8edfeea5f21f91e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::interface::generic;
use karlcommon::interfaces::tcp_addr;
use log::info;
use std::net::TcpListener;
use std::thread;

pub fn run() {
    info!("binding to socket");
    let listener = TcpListener::bind(tcp_addr()).unwrap();
    info!("listening.");
    loop {
        let (stream, _addr) = listener.accept().unwrap();
        thread::spawn(move || {
            generic::handle_connection(generic::stream, (stream.try_clone().unwrap(), stream))
        });
    }
}