mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-26 10:26:30 +00:00
working startup
This commit is contained in:
46
src/main.rs
Normal file
46
src/main.rs
Normal file
@@ -0,0 +1,46 @@
|
||||
extern crate bytes;
|
||||
extern crate tokio;
|
||||
|
||||
use tokio::net::TcpListener;
|
||||
|
||||
mod errors;
|
||||
mod messages;
|
||||
mod client;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
println!("> Welcome to PgRabbit");
|
||||
|
||||
let listener = match TcpListener::bind("0.0.0.0:5433").await {
|
||||
Ok(sock) => sock,
|
||||
Err(err) => {
|
||||
println!("> Error: {:?}", err);
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
loop {
|
||||
let (mut socket, addr) = match listener.accept().await {
|
||||
Ok((mut socket, addr)) => (socket, addr),
|
||||
Err(err) => {
|
||||
println!("> Listener: {:?}", err);
|
||||
continue;
|
||||
}
|
||||
};
|
||||
|
||||
// Client goes to another thread, bye.
|
||||
tokio::task::spawn(async move {
|
||||
println!(">> Client {:?} connected", addr);
|
||||
|
||||
match client::Client::startup(socket).await {
|
||||
Ok(client) => {
|
||||
println!(">> Client {:?} connected successfully!", addr);
|
||||
},
|
||||
|
||||
Err(err) => {
|
||||
println!(">> Error: {:?}", err);
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user