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

Please support generating a single gzip-compatible or deflate-compatible stream #5

Closed
joshtriplett opened this issue Aug 10, 2021 · 3 comments · Fixed by #10
Closed

Comments

@joshtriplett
Copy link
Contributor

Currently, pargz uses many GzEncoder instances, which each emit a gzip header, so decoding it requires MultiGzDecoder. If pargz instead used DeflateEncoder to emit raw deflate streams, with an optional gzip or zlib header in front, the resulting stream would be a single gzip/zlib/deflate file, and wouldn't require MultiGzDecoder.

I'd love to be able to use pargz in file formats that expect raw deflate, or that expect zlib, or that expect gzip but don't handle multiple gzip headers.

@sstadick
Copy link
Owner

I'll look into this. 👍

Thanks for opening the issue!

@sstadick sstadick linked a pull request Aug 15, 2021 that will close this issue
@sstadick sstadick linked a pull request Aug 22, 2021 that will close this issue
@sstadick
Copy link
Owner

@ghuls RE this

@joshtriplett See linked PR on this ticket for details and the v0.5.0 release which addresses the following items:

  • Single stream deflate for Zlib, Gzip, and Raw Deflate
  • Uses last 32K of previous block as dictionary for current block

Not yet addressed:

  • A pure rust version of adler32 that has a combine method
  • passing lots of details to the gzip / zlib headers

Please feel to reopen this issue or make new ones if you run into problems or have ideas for improving things!

@joshtriplett
Copy link
Contributor Author

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants