aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-10-17 10:13:34 +0200
committermetamuffin <metamuffin@disroot.org>2022-10-17 10:13:34 +0200
commitd625152c478355b32965d8bec1cdf6ce60f4b23e (patch)
tree8bd5c924d959e15cbdb2fda25283c1a889ea28a6 /src
parentfbc478222c29014c9eae6eb9f450e679e9798b3b (diff)
downloadtrash-proxy-d625152c478355b32965d8bec1cdf6ce60f4b23e.tar
trash-proxy-d625152c478355b32965d8bec1cdf6ce60f4b23e.tar.bz2
trash-proxy-d625152c478355b32965d8bec1cdf6ce60f4b23e.tar.zst
readme
Diffstat (limited to 'src')
-rw-r--r--src/main.rs26
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}"),
}
});
}