finished join event

This commit is contained in:
2025-11-15 19:33:40 +01:00
parent cca852d466
commit 1c92918692
4 changed files with 23 additions and 22 deletions

View File

@@ -104,7 +104,7 @@ pub async fn handle_connection(
connections: ConnectionMap,
matches: MatchMap,
waiting_queue: WaitingQueue,
event_system: crate::events::EventSystem,
//event_system: crate::events::EventSystem,
) -> anyhow::Result<()> {
use tokio_tungstenite::accept_async;
@@ -152,18 +152,19 @@ pub async fn handle_connection(
Join { username } => {
{
let mut conn_map = connections.lock().await;
let mut player = conn_map.get_mut(&player_id).unwrap();
let player = conn_map.get_mut(&player_id).unwrap();
player.username = Some(username);
}
//respone to client
let response: EventResponse = EventResponse {
response: core::result::Result::Ok(true),
response: core::result::Result::Ok(()),
};
println!("response: {:?}", response);
send_message_to_player(
//event_system.send_event(player_id, &response, &connections);
let _ = send_message_to_player(
&connections,
player_id,
&serde_json::to_string(&response).unwrap(),

View File

@@ -26,10 +26,10 @@ pub enum ClientEvent {
#[derive(Serialize, Deserialize, Debug)]
pub struct EventResponse {
pub response: Result<bool, String>,
pub response: Result<(), String>,
}
pub struct EventSystem {
/*pub struct EventSystem {
sender: mpsc::UnboundedSender<(Uuid, EventResponse)>,
receiver: Arc<Mutex<mpsc::UnboundedReceiver<(Uuid, EventResponse)>>>,
}
@@ -59,12 +59,13 @@ impl EventSystem {
connections: &ConnectionMap,
) -> Result<(), Box<dyn std::error::Error>> {
//self.sender.send((player_id, event))?;
println!("Hellodsjaoidsaid");
crate::connection::send_message_to_player(
&connections,
player_id,
&serde_json::to_string(&event).unwrap(),
);
)
.await;
Ok(())
}
@@ -81,7 +82,6 @@ impl Default for EventSystem {
}
}
/*
#[cfg(test)]
mod tests {
use super::*;

View File

@@ -16,14 +16,14 @@ async fn main() -> anyhow::Result<()> {
let waiting_queue = connection::new_waiting_queue();
// Event system for communication between components
let event_system = events::EventSystem::new();
//let event_system = events::EventSystem::new();
// Start matchmaking background task
let matchmaker = matchmaking::MatchmakingSystem::new(
connections.clone(),
matches.clone(),
waiting_queue.clone(),
event_system.clone(),
//event_system.clone(),
);
tokio::spawn(async move {
matchmaker.run().await;
@@ -34,7 +34,7 @@ async fn main() -> anyhow::Result<()> {
let connections = connections.clone();
let matches = matches.clone();
let waiting_queue = waiting_queue.clone();
let event_system = event_system.clone();
//let event_system = event_system.clone();
tokio::spawn(async move {
if let Err(e) = connection::handle_connection(
@@ -42,7 +42,7 @@ async fn main() -> anyhow::Result<()> {
connections,
matches,
waiting_queue,
event_system,
//event_system,
)
.await
{

View File

@@ -1,5 +1,5 @@
use crate::connection::{ConnectionMap, GameMatch, MatchMap, WaitingQueue};
use crate::events::EventSystem;
//use crate::events::EventSystem;
use rand::random;
use uuid::Uuid;
@@ -7,7 +7,7 @@ pub struct MatchmakingSystem {
connections: ConnectionMap,
matches: MatchMap,
waiting_queue: WaitingQueue,
event_system: EventSystem,
//event_system: EventSystem,
}
impl MatchmakingSystem {
@@ -15,13 +15,13 @@ impl MatchmakingSystem {
connections: ConnectionMap,
matches: MatchMap,
waiting_queue: WaitingQueue,
event_system: EventSystem,
//event_system: EventSystem,
) -> Self {
Self {
connections,
matches,
waiting_queue,
event_system,
//event_system,
}
}
@@ -114,7 +114,7 @@ impl MatchmakingSystem {
#[cfg(test)]
mod tests {
use super::*;
use crate::events::EventSystem;
//use crate::events::EventSystem;
use uuid::Uuid;
use crate::connection::new_connection_map;
@@ -126,13 +126,13 @@ mod tests {
let connections = new_connection_map();
let matches = new_match_map();
let waiting_queue = new_waiting_queue();
let event_system = EventSystem::new();
//let event_system = EventSystem::new();
let matchmaking = MatchmakingSystem::new(
connections.clone(),
matches.clone(),
waiting_queue.clone(),
event_system.clone(),
//event_system.clone(),
);
let player1 = Uuid::new_v4();
@@ -172,13 +172,13 @@ mod tests {
let connections = new_connection_map();
let matches = new_match_map();
let waiting_queue = new_waiting_queue();
let event_system = EventSystem::new();
//let event_system = EventSystem::new();
let matchmaking = MatchmakingSystem::new(
connections.clone(),
matches.clone(),
waiting_queue.clone(),
event_system.clone(),
//event_system.clone(),
);
let player1 = Uuid::new_v4();