diff options
author | metamuffin <metamuffin@disroot.org> | 2022-10-17 10:13:34 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2022-10-17 10:13:34 +0200 |
commit | d625152c478355b32965d8bec1cdf6ce60f4b23e (patch) | |
tree | 8bd5c924d959e15cbdb2fda25283c1a889ea28a6 /src | |
parent | fbc478222c29014c9eae6eb9f450e679e9798b3b (diff) | |
download | trash-proxy-d625152c478355b32965d8bec1cdf6ce60f4b23e.tar trash-proxy-d625152c478355b32965d8bec1cdf6ce60f4b23e.tar.bz2 trash-proxy-d625152c478355b32965d8bec1cdf6ce60f4b23e.tar.zst |
readme
Diffstat (limited to 'src')
-rw-r--r-- | src/main.rs | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/src/main.rs b/src/main.rs index d1459e1..220c4c9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -20,6 +20,7 @@ use tokio::{ tcp::{OwnedReadHalf, OwnedWriteHalf}, TcpListener, TcpStream, }, + sync::RwLock, }; #[tokio::main] @@ -29,34 +30,21 @@ async fn main() { .parse_env("LOG") .init(); - let config = - Arc::new(serde_yaml::from_str::<Config>(&read_to_string("proxy.yaml").unwrap()).unwrap()); + let config = RwLock::new(Arc::new( + serde_yaml::from_str::<Config>(&read_to_string("proxy.yaml").unwrap()).unwrap(), + )); - let listener = TcpListener::bind(config.bind).await.unwrap(); + let listener = TcpListener::bind(config.read().await.bind).await.unwrap(); info!("listening"); loop { match listener.accept().await { Ok((sock, addr)) => { info!("connected: {addr}"); - let config = config.clone(); + let config = config.read().await.clone(); tokio::spawn(async move { match handle_client(config, sock).await { Ok(()) => info!("disconnected: {addr}"), - Err(err) => { - // write_packet::<ClientboundLoginPacket, _>( - // &ClientboundLoginPacket::LoginDisconnect( - // ClientboundLoginDisconnectPacket { - // reason: azalea_chat::component::Component::Text( - // legacy_color_code_to_text_component(&format!("{err}")), - // ), - // }, - // ), - // &mut sock, - // None, - // &mut None, - // ); - warn!("error: ({addr}) {err}") - } + Err(err) => warn!("error: ({addr}) {err}"), } }); } |