chore: remove comments

This commit is contained in:
HorizonCode 2025-07-08 12:03:16 +02:00
parent f051253abb
commit 9f62332334

View File

@ -8,8 +8,6 @@ use std::time::{SystemTime, UNIX_EPOCH};
use tokio::sync::{mpsc, oneshot};
use tokio::time::{interval, Duration};
// --- Datenstrukturen und Befehle ---
#[derive(Clone, Debug)]
pub struct PresenceData {
pub state: String,
@ -20,18 +18,14 @@ pub struct PresenceData {
pub small_image_text: Option<String>,
}
// Befehle, die an den Presence-Actor gesendet werden können
#[derive(Debug)]
enum PresenceCommand {
Connect(oneshot::Sender<bool>),
// Geändert: Nimmt einen Sender, um den Abschluss zu signalisieren
Disconnect(oneshot::Sender<()>),
UpdateData(PresenceData),
IsConnected(oneshot::Sender<bool>),
}
// --- Der Actor ---
struct PresenceActor {
receiver: mpsc::Receiver<PresenceCommand>,
client: Option<DiscordIpcClient>,
@ -71,7 +65,6 @@ impl PresenceActor {
Some(cmd) = self.receiver.recv() => {
match cmd {
PresenceCommand::Connect(responder) => self.handle_connect(responder).await,
// Geändert: Leitet den Responder weiter
PresenceCommand::Disconnect(responder) => {
self.handle_disconnect(responder).await;
},
@ -118,7 +111,6 @@ impl PresenceActor {
}
}
// Geändert: Nimmt einen Responder als Parameter
async fn handle_disconnect(&mut self, responder: oneshot::Sender<()>) {
if let Some(mut client) = self.client.take() {
println!("Actor: Disconnecting...");
@ -126,7 +118,6 @@ impl PresenceActor {
let _ = client.close().map_err(|e| e.to_string());
println!("Actor: Disconnected successfully.");
}
// Signalisiere, dass der Vorgang abgeschlossen ist
let _ = responder.send(());
}
@ -158,7 +149,6 @@ impl PresenceActor {
if let Err(e) = client.set_activity(activity).map_err(|e| e.to_string()) {
eprintln!("Failed to set activity, disconnecting: {:?}", e);
// Rufe die interne handle_disconnect auf, ohne auf eine Antwort zu warten
if let Some(mut client) = self.client.take() {
let _ = client.clear_activity();
let _ = client.close();
@ -168,8 +158,6 @@ impl PresenceActor {
}
}
// --- Öffentliche API ---
static PRESENCE_TX: Lazy<mpsc::Sender<PresenceCommand>> = Lazy::new(|| {
let (tx, rx) = mpsc::channel(10);
let mut actor = PresenceActor::new(rx);
@ -196,11 +184,9 @@ pub async fn connect() -> bool {
false
}
// Geändert: Wartet jetzt auf den Abschluss des Disconnects
pub async fn disconnect() {
let (tx, rx) = oneshot::channel();
if PRESENCE_TX.send(PresenceCommand::Disconnect(tx)).await.is_ok() {
// Warte, bis der Actor den Abschluss signalisiert
let _ = rx.await;
} else {
println!("Could not send disconnect command; actor may not be running.");