10#include <SDL3/SDL_stdinc.h>
23 [[nodiscard]] std::uint32_t
serverId() const noexcept {
return serverId_.load(std::memory_order_relaxed); }
Shared wire helpers for global server browser and NAT assist.
Network configuration loaded from config.toml at startup.
Thin wrapper over SDL3_net's NET_DatagramSocket.
Definition GlobalServerAdvertiser.hpp:19
Uint16 gamePort_
Definition GlobalServerAdvertiser.hpp:33
std::thread thread_
Definition GlobalServerAdvertiser.hpp:36
void sendUdpHello()
Definition GlobalServerAdvertiser.cpp:168
void sendPunchProbes(const net::discovery::UdpPunchPeer &peer)
Definition GlobalServerAdvertiser.cpp:198
std::atomic< std::uint32_t > serverId_
Definition GlobalServerAdvertiser.hpp:38
void pollPunchRequests()
Definition GlobalServerAdvertiser.cpp:182
std::atomic< bool > shouldStop_
Definition GlobalServerAdvertiser.hpp:37
void loop()
Definition GlobalServerAdvertiser.cpp:104
net::UdpEndpoint udpEndpoint_
Definition GlobalServerAdvertiser.hpp:35
bool sendRegistration(net::discovery::DirectoryMessage kind)
Definition GlobalServerAdvertiser.cpp:122
bool start(const GlobalDiscoveryConfig &cfg, Uint16 gamePort, std::function< int()> currentPlayersFn)
Definition GlobalServerAdvertiser.cpp:74
std::function< int()> currentPlayersFn_
Definition GlobalServerAdvertiser.hpp:34
GlobalDiscoveryConfig cfg_
Definition GlobalServerAdvertiser.hpp:32
std::uint32_t serverId() const noexcept
Definition GlobalServerAdvertiser.hpp:23
void stop()
Definition GlobalServerAdvertiser.cpp:96
Wraps a NET_DatagramSocket with header-prefixed I/O.
Definition UdpEndpoint.hpp:109
DirectoryMessage
Definition GlobalDiscoveryProtocol.hpp:22
Global server browser / directory-service settings.
Definition NetworkConfig.hpp:121
Definition GlobalDiscoveryProtocol.hpp:99