diff options
author | vnugent <public@vaughnnugent.com> | 2023-08-05 00:52:48 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-08-05 00:52:48 -0400 |
commit | 46c6450fdc9b62aa04bae545b03d93a2e8c8895a (patch) | |
tree | c5648e1ce68acd28cb29807ba65d90af3ba1caef /lib/Net.Compression | |
parent | a3ded6043a926735142f3bb48093e83135044c06 (diff) |
Response compression buffer patch
Diffstat (limited to 'lib/Net.Compression')
4 files changed, 18 insertions, 21 deletions
diff --git a/lib/Net.Compression/VNLib.Net.Compression/CompressorManager.cs b/lib/Net.Compression/VNLib.Net.Compression/CompressorManager.cs index af77329..0695791 100644 --- a/lib/Net.Compression/VNLib.Net.Compression/CompressorManager.cs +++ b/lib/Net.Compression/VNLib.Net.Compression/CompressorManager.cs @@ -36,9 +36,9 @@ using System; using System.Buffers; +using System.Text.Json; using System.Diagnostics; using System.IO.Compression; -using System.Text.Json; using System.Runtime.CompilerServices; using VNLib.Net.Http; @@ -170,13 +170,6 @@ namespace VNLib.Net.Compression throw new InvalidOperationException("This compressor instance has not been initialized, cannot free compressor"); } - /* - * We only alloc the buffer on the first call because we can assume this is the - * largest input data the compressor will see, and the block size should be used - * as a reference for callers. If its too small it will just have to be flushed - */ - - //Compress the block return CompressBlock(compressor.Instance, output, input, false); } diff --git a/lib/Net.Compression/vnlib_compress/compression.c b/lib/Net.Compression/vnlib_compress/compression.c index 0e563ff..959540d 100644 --- a/lib/Net.Compression/vnlib_compress/compression.c +++ b/lib/Net.Compression/vnlib_compress/compression.c @@ -63,11 +63,11 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserv VNLIB_EXPORT CompressorType VNLIB_CC GetSupportedCompressors(void); -VNLIB_EXPORT int VNLIB_CC GetCompressorBlockSize(void* compressor); +VNLIB_EXPORT int VNLIB_CC GetCompressorBlockSize(_In_ void* compressor); -VNLIB_EXPORT CompressorType VNLIB_CC GetCompressorType(void* compressor); +VNLIB_EXPORT CompressorType VNLIB_CC GetCompressorType(_In_ void* compressor); -VNLIB_EXPORT CompressionLevel VNLIB_CC GetCompressorLevel(void* compressor); +VNLIB_EXPORT CompressionLevel VNLIB_CC GetCompressorLevel(_In_ void* compressor); VNLIB_EXPORT void* VNLIB_CC AllocateCompressor(CompressorType type, CompressionLevel level); @@ -106,7 +106,7 @@ VNLIB_EXPORT CompressorType VNLIB_CC GetSupportedCompressors(void) return supported; } -VNLIB_EXPORT CompressorType VNLIB_CC GetCompressorType(void* compressor) +VNLIB_EXPORT CompressorType VNLIB_CC GetCompressorType(_In_ void* compressor) { if (!compressor) { @@ -116,7 +116,7 @@ VNLIB_EXPORT CompressorType VNLIB_CC GetCompressorType(void* compressor) return ((CompressorState*)compressor)->type; } -VNLIB_EXPORT CompressionLevel VNLIB_CC GetCompressorLevel(void* compressor) +VNLIB_EXPORT CompressionLevel VNLIB_CC GetCompressorLevel(_In_ void* compressor) { if (!compressor) { @@ -126,7 +126,7 @@ VNLIB_EXPORT CompressionLevel VNLIB_CC GetCompressorLevel(void* compressor) return ((CompressorState*)compressor)->level; } -VNLIB_EXPORT int VNLIB_CC GetCompressorBlockSize(void* compressor) +VNLIB_EXPORT int VNLIB_CC GetCompressorBlockSize(_In_ void* compressor) { if (!compressor) { @@ -195,7 +195,6 @@ VNLIB_EXPORT void* VNLIB_CC AllocateCompressor(CompressorType type, CompressionL } - /* If result was successfull return the context pointer, if the creation failed, free the state if it was allocated @@ -290,7 +289,7 @@ VNLIB_EXPORT int VNLIB_CC FreeCompressor(void* compressor) return errorCode; } -VNLIB_EXPORT int VNLIB_CC GetCompressedSize(void* compressor, int inputLength, int flush) +VNLIB_EXPORT int VNLIB_CC GetCompressedSize(_In_ void* compressor, int inputLength, int flush) { CompressorState* comp; int result; @@ -343,7 +342,7 @@ VNLIB_EXPORT int VNLIB_CC GetCompressedSize(void* compressor, int inputLength, i * indicate failure. * @param compressor */ -VNLIB_EXPORT int VNLIB_CC CompressBlock(void* compressor, CompressionOperation* operation) +VNLIB_EXPORT int VNLIB_CC CompressBlock(_In_ void* compressor, CompressionOperation* operation) { int result; CompressorState* comp; diff --git a/lib/Net.Compression/vnlib_compress/compression.h b/lib/Net.Compression/vnlib_compress/compression.h index 153b7fc..930ef1c 100644 --- a/lib/Net.Compression/vnlib_compress/compression.h +++ b/lib/Net.Compression/vnlib_compress/compression.h @@ -40,8 +40,6 @@ #include "util.h" #include <stdint.h> -#include <stddef.h> -#include <stdlib.h> #define ERR_COMP_TYPE_NOT_SUPPORTED -9 #define ERR_COMP_LEVEL_NOT_SUPPORTED -10 @@ -140,13 +138,13 @@ typedef struct CompressionOperationStruct { /* * Input stream data */ - const uint8_t* bytesIn; + const void* bytesIn; const int bytesInLength; /* * Output buffer/data stream */ - uint8_t* bytesOut; + void* bytesOut; const int bytesOutLength; /* diff --git a/lib/Net.Compression/vnlib_compress/util.h b/lib/Net.Compression/vnlib_compress/util.h index 6e7b59e..583e10b 100644 --- a/lib/Net.Compression/vnlib_compress/util.h +++ b/lib/Net.Compression/vnlib_compress/util.h @@ -24,6 +24,8 @@ #ifndef UTIL_H_ #define UTIL_H_ +#include <stdlib.h> + /* * Stub missing types and constants for GCC */ @@ -46,6 +48,11 @@ #define NULL 0 #endif /* !NULL */ +#ifndef _In_ +#define _In_ +#endif // !_In_ + + /* * Stub method for malloc. All calls to vnmalloc should be freed with vnfree. */ |