diff --git a/CMakeLists.txt b/CMakeLists.txt index 56213ef8..e7341bc0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -244,14 +244,6 @@ if (USE_ZLIB) target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_ZLIB) endif() -# brew install libdeflate -find_package(Deflate) -if (DEFLATE_FOUND) - include_directories(${DEFLATE_INCLUDE_DIRS}) - target_link_libraries(ixwebsocket PRIVATE ${DEFLATE_LIBRARIES}) - target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_DEFLATE) -endif() - if (WIN32) target_link_libraries(ixwebsocket PRIVATE wsock32 ws2_32 shlwapi) target_compile_definitions(ixwebsocket PRIVATE _CRT_SECURE_NO_WARNINGS) diff --git a/ixwebsocket/IXGzipCodec.cpp b/ixwebsocket/IXGzipCodec.cpp index fe59bd65..4ed8a55a 100644 --- a/ixwebsocket/IXGzipCodec.cpp +++ b/ixwebsocket/IXGzipCodec.cpp @@ -14,53 +14,12 @@ #include #endif -#ifdef IXWEBSOCKET_USE_DEFLATE -#include -#endif - namespace ix { std::string gzipCompress(const std::string& str) { #ifndef IXWEBSOCKET_USE_ZLIB return std::string(); -#else -#ifdef IXWEBSOCKET_USE_DEFLATE - int compressionLevel = 6; - struct libdeflate_compressor* compressor; - - compressor = libdeflate_alloc_compressor(compressionLevel); - - const void* uncompressed_data = str.data(); - size_t uncompressed_size = str.size(); - void* compressed_data; - size_t actual_compressed_size; - size_t max_compressed_size; - - max_compressed_size = libdeflate_gzip_compress_bound(compressor, uncompressed_size); - compressed_data = malloc(max_compressed_size); - - if (compressed_data == NULL) - { - return std::string(); - } - - actual_compressed_size = libdeflate_gzip_compress( - compressor, uncompressed_data, uncompressed_size, compressed_data, max_compressed_size); - - libdeflate_free_compressor(compressor); - - if (actual_compressed_size == 0) - { - free(compressed_data); - return std::string(); - } - - std::string out; - out.assign(reinterpret_cast(compressed_data), actual_compressed_size); - free(compressed_data); - - return out; #else z_stream zs; // z_stream is zlib's control structure memset(&zs, 0, sizeof(zs)); @@ -101,7 +60,6 @@ namespace ix deflateEnd(&zs); return outstring; -#endif // IXWEBSOCKET_USE_DEFLATE #endif // IXWEBSOCKET_USE_ZLIB } @@ -117,26 +75,6 @@ namespace ix { #ifndef IXWEBSOCKET_USE_ZLIB return false; -#else -#ifdef IXWEBSOCKET_USE_DEFLATE - struct libdeflate_decompressor* decompressor; - decompressor = libdeflate_alloc_decompressor(); - - const void* compressed_data = in.data(); - size_t compressed_size = in.size(); - - // Retrieve uncompressed size from the trailer of the gziped data - const uint8_t* ptr = reinterpret_cast(&in.front()); - auto uncompressed_size = loadDecompressedGzipSize(&ptr[compressed_size - 4]); - - // Use it to redimension our output buffer - out.resize(uncompressed_size); - - libdeflate_result result = libdeflate_gzip_decompress( - decompressor, compressed_data, compressed_size, &out.front(), uncompressed_size, NULL); - - libdeflate_free_decompressor(decompressor); - return result == LIBDEFLATE_SUCCESS; #else z_stream inflateState; memset(&inflateState, 0, sizeof(inflateState)); @@ -177,7 +115,6 @@ namespace ix inflateEnd(&inflateState); return true; -#endif // IXWEBSOCKET_USE_DEFLATE #endif // IXWEBSOCKET_USE_ZLIB } } // namespace ix