diff options
| author | Aleksandr Popovich <alekpopo@pm.me> | 2025-06-05 18:59:47 +0000 |
|---|---|---|
| committer | crueter <crueter@noreply.localhost> | 2025-06-05 18:59:47 +0000 |
| commit | 76fa5255926da8f6339e7be5bf106646acedf78a (patch) | |
| tree | 8ea533a7d748a9a5404e15a1063b11a832b2f007 /src/core/internal_network/socket_proxy.cpp | |
| parent | 7e13da47af71814d612c6c060be68e8ba84271ff (diff) | |
Added the public lobby to android. (#125)
This is adapted from kleidis old PR to Azahar. Changes from it:
- Fixed inconsistent button styling in the dialog for connection
- Allowed to hide both empty and full rooms.
- Proper serving of preferred games
- Enables web service for android by default
- Better implementation of multiplayer.cpp that works with oop
Also fixes the room network class and turns it into a static namespace
in network
Signed-off-by: Aleksandr Popovich <alekpopo@pm.me>
Co-authored-by: swurl <swurl@swurl.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/125
Co-authored-by: Aleksandr Popovich <alekpopo@pm.me>
Co-committed-by: Aleksandr Popovich <alekpopo@pm.me>
Diffstat (limited to 'src/core/internal_network/socket_proxy.cpp')
| -rw-r--r-- | src/core/internal_network/socket_proxy.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/core/internal_network/socket_proxy.cpp b/src/core/internal_network/socket_proxy.cpp index ce0dee9705..eba1e28c5e 100644 --- a/src/core/internal_network/socket_proxy.cpp +++ b/src/core/internal_network/socket_proxy.cpp @@ -1,6 +1,9 @@ // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + #include <chrono> #include <thread> @@ -18,7 +21,7 @@ namespace Network { -ProxySocket::ProxySocket(RoomNetwork& room_network_) noexcept : room_network{room_network_} {} +ProxySocket::ProxySocket() noexcept {} ProxySocket::~ProxySocket() { if (fd == INVALID_SOCKET) { @@ -187,7 +190,7 @@ std::pair<s32, Errno> ProxySocket::Send(std::span<const u8> message, int flags) } void ProxySocket::SendPacket(ProxyPacket& packet) { - if (auto room_member = room_network.GetRoomMember().lock()) { + if (auto room_member = Network::GetRoomMember().lock()) { if (room_member->IsConnected()) { packet.data = Common::Compression::CompressDataZSTDDefault(packet.data.data(), packet.data.size()); @@ -205,7 +208,7 @@ std::pair<s32, Errno> ProxySocket::SendTo(u32 flags, std::span<const u8> message return {static_cast<s32>(message.size()), Errno::SUCCESS}; } - if (auto room_member = room_network.GetRoomMember().lock()) { + if (auto room_member = Network::GetRoomMember().lock()) { if (!room_member->IsConnected()) { return {static_cast<s32>(message.size()), Errno::SUCCESS}; } @@ -222,7 +225,7 @@ std::pair<s32, Errno> ProxySocket::SendTo(u32 flags, std::span<const u8> message // If the ip is all zeroes (INADDR_ANY) or if it matches the hosts ip address, // replace it with a "fake" routing address if (std::all_of(ip.begin(), ip.end(), [](u8 i) { return i == 0; }) || (ipv4 && ipv4 == ip)) { - if (auto room_member = room_network.GetRoomMember().lock()) { + if (auto room_member = Network::GetRoomMember().lock()) { packet.local_endpoint.ip = room_member->GetFakeIpAddress(); } } |
