use crate::minecraft::client::client::Client; use tokio::net::TcpStream; use crate::DbPool; pub async fn process_mc_socket(stream: TcpStream, pool: DbPool) -> Result<(), String> { println!("new client {:?}", stream); let mut client = Client::create(stream, pool); loop { tokio::select! { Ok(()) = client.in_stream.readable() => { let res = client.in_read().await?; if res == 0 { break; } } _ = client.out_readable() => { let res = client.out_read().await?; if res == 0 { break; } } } } Ok(()) }