mod configuration; mod renderer; mod screen; mod telnet; use configuration::Configuration; use telnet::handle_client; use std::io::Result; use std::net::TcpListener; use std::thread; /// Spawns a server and hands over the connection to the telnet client handler. fn main() -> Result<()> { let configuration = Configuration::new(); let listener = TcpListener::bind(&configuration.address)?; eprintln!( "Server is now listening on address {}", configuration.address ); for stream in listener.incoming() { match stream { Ok(stream) => { thread::spawn(move || { if let Err(error) = handle_client(stream, configuration.frequency, configuration.modulation) { eprintln!("Error handling client: {error}"); } }); } Err(error) => { eprintln!("Connection failed: {error}"); } } } Ok(()) }