diff --git a/src/api.rs b/src/api.rs index d9d72be..a8ce87a 100644 --- a/src/api.rs +++ b/src/api.rs @@ -57,14 +57,15 @@ pub async fn websocket(stream: WebSocket, state: Arc, who: SocketAddr) let _greeting = sender.send(Message::Text(greeting(&state))).await; - // subscribe to channel + // subscribe to broadcast channel let mut rx = state.tx.subscribe(); - // broadcast join + // ANNOUNCE THY PRESENCE let msg = format!("{who} is here, bitches!"); tracing::debug!("{msg}"); let _ = state.tx.send(msg); + // handle broadcasting further awesome messages let mut send_task = tokio::spawn(async move { while let Ok(msg) = rx.recv().await { if sender.send(Message::Text(msg)).await.is_err() { @@ -77,6 +78,7 @@ pub async fn websocket(stream: WebSocket, state: Arc, who: SocketAddr) let tx = state.tx.clone(); let name = who.clone(); + // handle new incoming messages let mut recv_task = tokio::spawn(async move { while let Some(Ok(message)) = receiver.next().await { match message {