Remove user from queue on lobby disconnect

This commit is contained in:
NG (Graham) committed 2025-07-24 19:47:10 -04:00
1 parent a904423a83
commit f48334ef0c
2 files changed
+22 -6

No files matched your search

+11
View File
@@ -143,4 +143,15 @@ impl QueueHandler {
}
}
}
pub async fn leave_queue(&self, user: &(dyn oj_rc_core::persist::user::LobbyUser + Send + Sync)) {
let user_id = user.user_id();
for queue in self.users_in_queue.lock().await.values_mut() {
if let Some((i, _)) = queue.iter().enumerate().find(|(_, user)| user.user_id == user_id) {
queue.remove(i);
log::info!("User {} was removed from a queue", user_id);
break;
}
}
}
}