Files
dockermcmgr/src/minecraft/socket.rs

30 lines
720 B
Rust

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(())
}