fix compression
This commit is contained in:
@@ -16,14 +16,7 @@ namespace zlib {
|
||||
* \param buffer the data to compress
|
||||
* \return the compressed data
|
||||
*/
|
||||
DataBuffer Compress(const DataBuffer& buffer);
|
||||
|
||||
/**
|
||||
* \brief Reads the packet lenght and uncompress it
|
||||
* \param buffer the data to uncompress
|
||||
* \return the uncompressed data
|
||||
*/
|
||||
DataBuffer Decompress(DataBuffer& buffer);
|
||||
DataBuffer Compress(const DataBuffer& buffer, std::size_t a_CompressionThreshold = 64);
|
||||
|
||||
/**
|
||||
* \brief Uncompress some data
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <stdexcept>
|
||||
#include <sp/extensions/Compress.h>
|
||||
|
||||
namespace sp {
|
||||
namespace io {
|
||||
@@ -15,8 +16,8 @@ template <typename IOTag, typename MessageDispatcher, typename MessageFactory>
|
||||
void Stream<IOTag, MessageDispatcher, MessageFactory>::SendMessage(const MessageBase& a_Message) {
|
||||
// TODO: process compress + encryption
|
||||
DataBuffer data = a_Message.Write();
|
||||
DataBuffer dataSize;
|
||||
m_Interface.Write(dataSize << sp::VarInt{data.GetSize()} << data);
|
||||
DataBuffer compressed = zlib::Compress(data);
|
||||
m_Interface.Write(compressed);
|
||||
}
|
||||
|
||||
template <typename IOTag, typename MessageDispatcher, typename MessageFactory>
|
||||
@@ -60,6 +61,8 @@ void Stream<IOTag, MessageDispatcher, MessageFactory>::RecieveMessages() {
|
||||
|
||||
// TODO: process compress + encryption
|
||||
|
||||
buffer = zlib::Decompress(buffer, lenghtValue);
|
||||
|
||||
VarInt packetType;
|
||||
buffer >> packetType;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user