Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarNetPacketSocket.hpp
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2024-07-27 14:09:12 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2024-07-27 14:09:12 +1000
commit951fe787c437d43982f5eda77e1f19bf83998bfd (patch)
treed2e0c9a57451be75a968fedb6b7c407911ffbef4 /source/game/StarNetPacketSocket.hpp
parent9e7a2e9bb9976a0f23fad5c0c91b151ffa2db24c (diff)
Networking changes (needs P2P testing, requires clients to update unfortunately)
Diffstat (limited to 'source/game/StarNetPacketSocket.hpp')
-rw-r--r--source/game/StarNetPacketSocket.hpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/source/game/StarNetPacketSocket.hpp b/source/game/StarNetPacketSocket.hpp
index dfffec6..c2c06fa 100644
--- a/source/game/StarNetPacketSocket.hpp
+++ b/source/game/StarNetPacketSocket.hpp
@@ -78,7 +78,20 @@ public:
virtual void setLegacy(bool legacy);
virtual bool legacy() const;
private:
- bool m_legacy = true;
+ bool m_legacy = false;
+};
+
+class CompressedPacketSocket : public PacketSocket {
+public:
+ virtual ~CompressedPacketSocket() = default;
+
+ virtual void setCompressionStreamEnabled(bool enabled);
+ virtual bool compressionStreamEnabled() const;
+private:
+ bool m_useCompressionStream = false;
+protected:
+ CompressionStream m_compressionStream;
+ DecompressionStream m_decompressionStream;
};
// PacketSocket for local communication.
@@ -112,7 +125,7 @@ private:
};
// Wraps a TCP socket into a PacketSocket.
-class TcpPacketSocket : public PacketSocket {
+class TcpPacketSocket : public CompressedPacketSocket {
public:
static TcpPacketSocketUPtr open(TcpSocketPtr socket);
@@ -140,14 +153,10 @@ private:
PacketStatCollector m_outgoingStats;
ByteArray m_outputBuffer;
ByteArray m_inputBuffer;
- bool m_useCompressionStream = false;
- ByteArray m_compressedBuffer;
- CompressionStream m_compressionStream;
- DecompressionStream m_decompressionStream;
};
// Wraps a P2PSocket into a PacketSocket
-class P2PPacketSocket : public PacketSocket {
+class P2PPacketSocket : public CompressedPacketSocket {
public:
static P2PPacketSocketUPtr open(P2PSocketUPtr socket);