Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] zlib, raw deflate, full deflate streams #10

Merged
merged 1 commit into from Aug 22, 2021

Conversation

sstadick
Copy link
Owner

This PR reworks a lot of the internals of gzp. There is now one generic "engine" that operates over anything that implements FormatSpec. This now include Gzip, Zlib, Raw Deflate, and Snap.

Additionally, instead of writing many gzip blocks with their own headers and no overlapping dicts, this now behaves like pigz and writes a single stream that uses the last 32K of the previous block as the dict for the next block.

There are two features that still need to be implemented in future PRs:

  • Add the ability to set more metadata in the gzip and zlib headers
  • Drop the libz_sys req for zlib when using the rust backend and find an andler crate that has a combine method.

@sstadick sstadick merged commit 6ac89d7 into main Aug 22, 2021
@sstadick sstadick deleted the feature/structural_changes branch August 22, 2021 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Please support generating a single gzip-compatible or deflate-compatible stream
1 participant