summaryrefslogtreecommitdiff
path: root/src/core/internal_network
diff options
context:
space:
mode:
authorGravatar FearlessTobi2022-07-31 04:46:26 +0200
committerGravatar FearlessTobi2022-09-09 14:30:22 +0200
commitf5e635addaef59159bf6bc529b17954eda3684a1 (patch)
tree6d6b518611b377b6bd79e3156eb16f60f5045698 /src/core/internal_network
parentMerge pull request #8819 from liamwhite/cash-money (diff)
downloadyuzu-f5e635addaef59159bf6bc529b17954eda3684a1.tar.gz
yuzu-f5e635addaef59159bf6bc529b17954eda3684a1.tar.xz
yuzu-f5e635addaef59159bf6bc529b17954eda3684a1.zip
ldn: Initial implementation
Diffstat (limited to 'src/core/internal_network')
-rw-r--r--src/core/internal_network/socket_proxy.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/core/internal_network/socket_proxy.cpp b/src/core/internal_network/socket_proxy.cpp
index 0c746bd82..7d5d37bbc 100644
--- a/src/core/internal_network/socket_proxy.cpp
+++ b/src/core/internal_network/socket_proxy.cpp
@@ -6,6 +6,7 @@
6 6
7#include "common/assert.h" 7#include "common/assert.h"
8#include "common/logging/log.h" 8#include "common/logging/log.h"
9#include "common/zstd_compression.h"
9#include "core/internal_network/network.h" 10#include "core/internal_network/network.h"
10#include "core/internal_network/network_interface.h" 11#include "core/internal_network/network_interface.h"
11#include "core/internal_network/socket_proxy.h" 12#include "core/internal_network/socket_proxy.h"
@@ -32,8 +33,11 @@ void ProxySocket::HandleProxyPacket(const ProxyPacket& packet) {
32 return; 33 return;
33 } 34 }
34 35
36 auto decompressed = packet;
37 decompressed.data = Common::Compression::DecompressDataZSTD(packet.data);
38
35 std::lock_guard guard(packets_mutex); 39 std::lock_guard guard(packets_mutex);
36 received_packets.push(packet); 40 received_packets.push(decompressed);
37} 41}
38 42
39template <typename T> 43template <typename T>
@@ -185,6 +189,8 @@ std::pair<s32, Errno> ProxySocket::Send(const std::vector<u8>& message, int flag
185void ProxySocket::SendPacket(ProxyPacket& packet) { 189void ProxySocket::SendPacket(ProxyPacket& packet) {
186 if (auto room_member = room_network.GetRoomMember().lock()) { 190 if (auto room_member = room_network.GetRoomMember().lock()) {
187 if (room_member->IsConnected()) { 191 if (room_member->IsConnected()) {
192 packet.data = Common::Compression::CompressDataZSTDDefault(packet.data.data(),
193 packet.data.size());
188 room_member->SendProxyPacket(packet); 194 room_member->SendProxyPacket(packet);
189 } 195 }
190 } 196 }