mirror of
				https://github.com/csehviktor/status-monitor.git
				synced 2025-08-08 18:06:14 +02:00 
			
		
		
		
	cleaup code
This commit is contained in:
		
							
								
								
									
										23
									
								
								server/src/websocket/mod.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								server/src/websocket/mod.rs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | ||||
| use warp::filters::ws::{Message, WebSocket}; | ||||
| use futures_util::{SinkExt, StreamExt}; | ||||
| use tokio::sync::mpsc::channel; | ||||
| use std::sync::Arc; | ||||
|  | ||||
| use crate::bridge::ClientManager; | ||||
|  | ||||
| pub mod server; | ||||
|  | ||||
| pub async fn handle_ws_connection(websocket: WebSocket, clients: Arc<ClientManager>) { | ||||
|     let (mut ws_tx, _) = websocket.split(); | ||||
|     let (tx, mut rx) = channel::<String>(100); | ||||
|  | ||||
|     clients.add_client(tx).await; | ||||
|  | ||||
|     tokio::spawn(async move { | ||||
|         while let Some(msg) = rx.recv().await { | ||||
|             if ws_tx.send(Message::text(msg)).await.is_err() { | ||||
|                 break; | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user