ChatGPT Codex 5.5 xhigh refactored even more

This commit is contained in:
2026-05-02 15:31:37 +02:00
parent 86d0f93ede
commit b4585b663a
24 changed files with 2160 additions and 1972 deletions
+55
View File
@@ -0,0 +1,55 @@
//! UI event helpers used by peer command and service code.
use std::{net::SocketAddr, sync::Arc};
use tokio::sync::{RwLock, mpsc::UnboundedSender};
use crate::{PeerEvent, peer_db::PeerGameDB};
pub fn send(tx_notify_ui: &UnboundedSender<PeerEvent>, event: PeerEvent, label: &str) {
if let Err(err) = tx_notify_ui.send(event) {
log::error!("Failed to send {label} event: {err}");
}
}
pub async fn emit_peer_game_list(
peer_game_db: &Arc<RwLock<PeerGameDB>>,
tx_notify_ui: &UnboundedSender<PeerEvent>,
) {
let games = { peer_game_db.read().await.get_all_games() };
send(tx_notify_ui, PeerEvent::ListGames(games), "ListGames");
}
pub async fn emit_peer_count(
peer_game_db: &Arc<RwLock<PeerGameDB>>,
tx_notify_ui: &UnboundedSender<PeerEvent>,
) {
let peer_count = { peer_game_db.read().await.get_peer_addresses().len() };
send(
tx_notify_ui,
PeerEvent::PeerCountUpdated(peer_count),
"PeerCountUpdated",
);
}
pub async fn emit_peer_discovered(
peer_game_db: &Arc<RwLock<PeerGameDB>>,
tx_notify_ui: &UnboundedSender<PeerEvent>,
peer_addr: SocketAddr,
) {
send(
tx_notify_ui,
PeerEvent::PeerDiscovered(peer_addr),
"PeerDiscovered",
);
emit_peer_count(peer_game_db, tx_notify_ui).await;
}
pub async fn emit_peer_lost(
peer_game_db: &Arc<RwLock<PeerGameDB>>,
tx_notify_ui: &UnboundedSender<PeerEvent>,
peer_addr: SocketAddr,
) {
send(tx_notify_ui, PeerEvent::PeerLost(peer_addr), "PeerLost");
emit_peer_count(peer_game_db, tx_notify_ui).await;
}