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

summaryrefslogtreecommitdiff
path: root/source/game/StarNetPacketSocket.hpp
diff options
context:
space:
mode:
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);