Feature #5937
closedZlib::Inflate#add_dictionary to pre-supply dictionaries for inflate streams
Description
The attached patch allows Zlib::Inflate users to supply dictionaries ahead of time in order to avoid handling the Zlib::NeedDict exception.
Multiple dictionaries may be provided. Zlib::Inflate will choose a matching dictionary based on the adler32 checksum of the provided dictionaries.
Files
Updated by drbrain (Eric Hodel) almost 13 years ago
Oops, forgot patch
Updated by drbrain (Eric Hodel) almost 13 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r34553.
Eric, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
- ext/zlib/zlib.c (rb_inflate_add_dictionary): Added
Zlib::Inflate#add_dictionary to allow users to pre-specify
for using during #inflate. [ruby-trunk - Feature #5937]
Updated by igrigorik (Ilya Grigorik) over 12 years ago
What are the odds of having this be backported to 1.9.x? We need custom dictionary support to support SPDY without relying on FFI or other native extensions.
ex: https://github.com/igrigorik/spdy/blob/master/lib/spdy/compressor.rb
Updated by naruse (Yui NARUSE) over 12 years ago
igrigorik (Ilya Grigorik) wrote:
What are the odds of having this be backported to 1.9.x? We need custom dictionary support to support SPDY without relying on FFI or other native extensions.
ex: https://github.com/igrigorik/spdy/blob/master/lib/spdy/compressor.rb
You may know, in principle backporting is for bug fixes.
And even if 1.9.3 backport this, 1.9.2 and 1.8.x still needs ffi.
This means your pain won't decrease, will it?
Updated by drbrain (Eric Hodel) over 12 years ago
Updated by igrigorik (Ilya Grigorik) over 12 years ago
@naruse (Yui NARUSE): as Eric pointed out in his original ticket (#5929), I do believe this is a bug, as the current API advertises that it can set and use the dictionary, but that is not the case.
I've opened a different / new ticket: http://bugs.ruby-lang.org/issues/6516