SpringMT / zstd-ruby

Ruby binding for zstd(Zstandard - Fast real-time compression algorithm)
https://github.com/facebook/zstd
BSD 3-Clause "New" or "Revised" License
69 stars 16 forks source link

[feature] Support Streaming Compression/Decompression with Dictionary #61

Closed AndrewCEmil closed 7 months ago

AndrewCEmil commented 1 year ago

Hi! I noticed that this library supports streaming compression/decompression and also dictionary compression/decompression. But it doesn't seem to support streaming compression/decompression using a dictionary.

I'd to add support for this. Please let me know if you have any thoughts on implementation or interface for this. I'm currently working through the changes in my forked repo: https://github.com/AndrewCEmil/zstd-ruby.

Ideally I would like to support:

Initially, I'll probably just implement the first feature (raw dictionary bytes), but I'll try to leave room in the interface to support caching for later implementation.

SpringMT commented 1 year ago

Thanks for the request. I have not been able to find the time to implement it now. Sorry about that. I am planning to respond around the end of the year.

AndrewCEmil commented 1 year ago

No worries! I have gone ahead and opened https://github.com/SpringMT/zstd-ruby/pull/62/files, which should cover the first part ("Streaming compression/decompression using raw dictionary bytes"). Thanks!

SpringMT commented 7 months ago

I have unified the handling of dictionaries. https://github.com/SpringMT/zstd-ruby/pull/77

SpringMT commented 7 months ago

Release v1.5.6.2 https://rubygems.org/gems/zstd-ruby/versions/1.5.6.2