aboutsummaryrefslogtreecommitdiff
path: root/lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs')
-rw-r--r--lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs66
1 files changed, 49 insertions, 17 deletions
diff --git a/lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs b/lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs
index 438f777..0df8392 100644
--- a/lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs
+++ b/lib/Net.Compression/VNLib.Net.Compression/NativeCompressionLib.cs
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2023 Vaughn Nugent
+* Copyright (c) 2024 Vaughn Nugent
*
* Library: VNLib
* Package: VNLib.Net.Compression
@@ -94,16 +94,26 @@ namespace VNLib.Net.Compression
public CompressionResult Compress(ReadOnlyMemory<byte> input, Memory<byte> output)
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- return LibComp.CompressBlock(compressor, output, input, false);
+
+ return LibComp.CompressBlock(
+ CompressorHandle.DangerousGetHandle(),
+ output,
+ input,
+ finalBlock: false
+ );
}
///<inheritdoc/>
public CompressionResult Compress(ReadOnlySpan<byte> input, Span<byte> output)
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- return LibComp.CompressBlock(compressor, output, input, false);
+
+ return LibComp.CompressBlock(
+ CompressorHandle.DangerousGetHandle(),
+ output,
+ input,
+ finalBlock: false
+ );
}
///<inheritdoc/>
@@ -113,8 +123,14 @@ namespace VNLib.Net.Compression
public int Flush(Memory<byte> buffer)
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- CompressionResult result = LibComp.CompressBlock(compressor, buffer, default, true);
+
+ CompressionResult result = LibComp.CompressBlock(
+ CompressorHandle.DangerousGetHandle(),
+ buffer,
+ input: default,
+ finalBlock: true
+ );
+
return result.BytesWritten;
}
@@ -122,8 +138,14 @@ namespace VNLib.Net.Compression
public int Flush(Span<byte> buffer)
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- CompressionResult result = LibComp.CompressBlock(compressor, buffer, default, true);
+
+ CompressionResult result = LibComp.CompressBlock(
+ CompressorHandle.DangerousGetHandle(),
+ buffer,
+ input: default,
+ finalBlock: true
+ );
+
return result.BytesWritten;
}
@@ -131,32 +153,42 @@ namespace VNLib.Net.Compression
public uint GetBlockSize()
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- return LibComp.GetBlockSize(compressor);
+
+ return LibComp.GetBlockSize(
+ CompressorHandle.DangerousGetHandle()
+ );
}
///<inheritdoc/>
public uint GetCompressedSize(uint size)
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- return (uint)LibComp.GetOutputSize(compressor, size, 1);
+
+ return (uint)LibComp.GetOutputSize(
+ CompressorHandle.DangerousGetHandle(),
+ size,
+ flush: 1 //truthy enables flushing
+ );
}
///<inheritdoc/>
public CompressionLevel GetCompressionLevel()
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- return LibComp.GetCompressorLevel(compressor);
+
+ return LibComp.GetCompressorLevel(
+ CompressorHandle.DangerousGetHandle()
+ );
}
///<inheritdoc/>
public CompressionMethod GetCompressionMethod()
{
CompressorHandle.ThrowIfClosed();
- IntPtr compressor = CompressorHandle.DangerousGetHandle();
- return LibComp.GetCompressorType(compressor);
+
+ return LibComp.GetCompressorType(
+ CompressorHandle.DangerousGetHandle()
+ );
}
}
}