aboutsummaryrefslogtreecommitdiff
path: root/src/network/announce_multiplayer_session.h
diff options
context:
space:
mode:
authorlizzie <lizzie@eden-emu.dev>2026-02-11 03:00:15 +0100
committercrueter <crueter@eden-emu.dev>2026-02-11 03:00:15 +0100
commit19494bc7ac943478e099f1b28877d33ece685d3f (patch)
tree2cf52c459067d05a7ccb2a11169d46e7a9e7e7b1 /src/network/announce_multiplayer_session.h
parent28a78d76fed94255233284abb3df36b3fd41467d (diff)
[network, qt] use jthread and use std::vector for packet list instead of std::list (#254)
Signed-off-by: lizzie <lizzie@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/254 Reviewed-by: DraVee <dravee@eden-emu.dev> Reviewed-by: Maufeat <sahyno1996@gmail.com> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src/network/announce_multiplayer_session.h')
-rw-r--r--src/network/announce_multiplayer_session.h13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/network/announce_multiplayer_session.h b/src/network/announce_multiplayer_session.h
index 4e5cd33e1f..8fff450367 100644
--- a/src/network/announce_multiplayer_session.h
+++ b/src/network/announce_multiplayer_session.h
@@ -1,4 +1,4 @@
-// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -72,7 +72,9 @@ public:
/**
* Whether the announce session is still running
*/
- bool IsRunning() const;
+ [[nodiscard]] bool IsRunning() const {
+ return announce_multiplayer_thread.has_value();
+ }
/**
* Recreates the backend, updating the credentials.
@@ -82,16 +84,13 @@ public:
private:
void UpdateBackendData(std::shared_ptr<Network::Room> room);
- void AnnounceMultiplayerLoop();
Common::Event shutdown_event;
- std::mutex callback_mutex;
std::set<CallbackHandle> error_callbacks;
- std::unique_ptr<std::thread> announce_multiplayer_thread;
-
+ std::optional<std::jthread> announce_multiplayer_thread;
/// Backend interface that logs fields
std::unique_ptr<AnnounceMultiplayerRoom::Backend> backend;
-
+ std::mutex callback_mutex;
std::atomic_bool registered = false; ///< Whether the room has been registered
};