Add XZ (LZMA) compression support to System.IO.Compression
### Background and motivation The goal of this proposal is to expose LZMA/XZ compression and decompression through APIs that follow the established patterns in `System.IO.Compression`. The native library will be shipped with https://github.com/dotnet/runtime/pull/124003 ### API Proposal ```c# namespace System.IO.Compression { public enum XzChecksumType { None = 0, Crc32 = 1, Crc64 = 2, Sha256 = 3, } public sealed partial class XzCompressionOptions { public XzCompressionOptions() { } public static int DefaultQuality { get { throw null; } } public static int DefaultWindowLog { get { throw null; } } public static int MaxQuality { get { throw null; } } public static int MaxWindowLog { get { throw null; } } public static int MinQuality { get { throw null; } } public static int MinWindowLog { get { throw null; } } public System.IO.Compression.XzChecksumType Checksum { get { throw null; } set { } } public int WindowLog { get { throw null; } set { } } public bool EnableExtremeMode { get { throw null; } set { } } public int Quality { get { throw null; } set { } } } public sealed partial class XzDecoder : System.IDisposable { public XzDecoder() { } public XzDecoder(int maxWindowLog) { } public System.Buffers.OperationStatus Decompress(System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten) { throw null; }
Posted by joshfree on Jun 24, 2016, 1:33 AM
Tags
Related issues
- Add 65536 size support for maps
- TypeScript 7.1 Iteration Plan
- nvim-treeconfig: upstream nvim-treesitter
- Add the "action" and "method" attributes to <button>
- [FEATURE] Support multiple Connector accounts (same connector, different accounts) in Claude and Claude Code on the web (claude.ai/code)
- > We were imposed GitHub for so many exercises!
Raise real-world problems, find people facing the same issue, and discuss solutions.5,000 issues0 comments
support (Software)
Add 65536 size support for maps
TypeScript 7.1 Iteration Plan
nvim-treeconfig: upstream nvim-treesitter
Add the "action" and "method" attributes to <button>
[FEATURE] Support multiple Connector accounts (same connector, different accounts) in Claude and Claude Code on the web (claude.ai/code)
> We were imposed GitHub for so many exercises!
Add support for Visual Studio 2026 Integration
Support for Helm v4
Add XZ (LZMA) compression support to System.IO.Compression
### Background and motivation The goal of this proposal is to expose LZMA/XZ compression and decompression through APIs that follow the established patterns in `System.IO.Compression`. The native library will be shipped with https://github.com/dotnet/runtime/pull/124003 ### API Proposal ```c# namespace System.IO.Compression { public enum XzChecksumType { None = 0, Crc32 = 1, Crc64 = 2, Sha256 = 3, } public sealed partial class XzCompressionOptions { public XzCompressionOptions() { } public static int DefaultQuality { get { throw null; } } public static int DefaultWindowLog { get { throw null; } } public static int MaxQuality { get { throw null; } } public static int MaxWindowLog { get { throw null; } } public static int MinQuality { get { throw null; } } public static int MinWindowLog { get { throw null; } } public System.IO.Compression.XzChecksumType Checksum { get { throw null; } set { } } public int WindowLog { get { throw null; } set { } } public bool EnableExtremeMode { get { throw null; } set { } } public int Quality { get { throw null; } set { } } } public sealed partial class XzDecoder : System.IDisposable { public XzDecoder() { } public XzDecoder(int maxWindowLog) { } public System.Buffers.OperationStatus Decompress(System.ReadOnlySpan<byte> source, System.Span<byte> destination, out int bytesConsumed, out int bytesWritten) { throw null; }
Comments (0)
No comments yet. Start the discussion.