diff --git a/ChunkManager.cpp b/ChunkManager.cpp index 980d5ac..1579fb3 100644 --- a/ChunkManager.cpp +++ b/ChunkManager.cpp @@ -35,7 +35,19 @@ std::vector ChunkManager::chunked(const std::vector& raw, const bool // Skopiuj fragment danych do chunka std::vector chunk(begin, end); - std::vector outChunk = encrypt ? eman.encrypt(cman.compress(chunk)) : cman.compress(chunk); + std::vector outChunk; + + // Przetwórz chunki i przetwórz + if (compress) + { + // Zaszyfruj i skompresuj lub tylko skompresuj + outChunk = encrypt ? eman.encrypt(cman.compress(chunk)) : cman.compress(chunk); + } + else + { + // Zaszyfruj lub skopiuj + outChunk = encrypt ? eman.encrypt(chunk) : std::move(chunk); + } uint32_t chs = chunk.size(); uint32_t zch = outChunk.size(); @@ -92,7 +104,7 @@ std::vector ChunkManager::dechunked(const std::vector& zip, const bo std::vector zipChunk = encrypt ? eman.decrypt(inChunk) : std::move(inChunk); // Zdeklarój pusty chunk - std::vector chunk = cman.decompress(zipChunk, chunkSize); + std::vector chunk = compress ? cman.decompress(zipChunk, chunkSize) : std::move(zipChunk); // Scal chunki chunksString.insert(chunksString.end(), chunk.begin(), chunk.end()); diff --git a/ChunkManager.h b/ChunkManager.h index 55c32db..fc857f9 100644 --- a/ChunkManager.h +++ b/ChunkManager.h @@ -12,12 +12,6 @@ #define BLOCK_SIZE 131072 // 128KB -struct BlockSize -{ - uint32_t raw; - uint32_t zip; -}; - class ChunkManager { public: