mintrix/mintrix-server/src/main.rs

32 lines
786 B
Rust

use anyhow::Result;
use futures::future::TryFutureExt;
use tokio::{
io::{AsyncBufReadExt, BufReader},
net::{TcpListener, TcpStream},
};
async fn handle_client(mut socket: TcpStream) -> Result<()> {
let (read_half, write_half) = socket.split();
let mut reader = BufReader::new(read_half);
let mut buf = Vec::new();
reader.read_until(b'\n', &mut buf).await?;
let protocol_version = std::str::from_utf8(&buf)?.trim().parse::<u8>()?;
Ok(())
}
#[tokio::main]
async fn main() -> Result<()> {
let mut listener = TcpListener::bind("0.0.0.0:7776").await?;
loop {
let (socket, _) = listener.accept().await?;
tokio::spawn(handle_client(socket).map_err(|err| {
eprintln!("error: {:?}", err);
}));
}
Ok(())
}