feat: Implement dvd watermark :xdskull:

This commit is contained in:
amizing25
2024-11-10 10:51:42 +07:00
parent a46f2307f8
commit d14f4a9d49
7 changed files with 129 additions and 42 deletions
+8 -1
View File
@@ -71,8 +71,8 @@ impl Gateway {
}
async fn establish_kcp_session(&mut self, data: u32, addr: SocketAddr) -> Result<()> {
tracing::info!("New connection from {addr}");
let (conv_id, session_token) = self.next_conv_pair();
tracing::info!("New connection from addr: {addr} with conv_id: {conv_id}");
self.sessions.lock().await.insert(
conv_id,
@@ -127,6 +127,13 @@ impl Gateway {
return;
};
// TODO: Temporary fix
if session.read().await.is_destroyed {
drop(session);
self.sessions.lock().await.remove(&conv_id);
return;
}
tokio::spawn(async move {
if let Err(err) = Box::pin(session.write().await.consume(&data)).await {
tracing::error!("An error occurred while processing session ({addr}): {err}");