[#78633] ruby/spec needs help from CRuby committers — Benoit Daloze <eregontp@...>
Currently, ruby/spec is maintained mostly by individuals and enjoys the
13 messages
2016/12/13
[#78963] Re: ruby/spec needs help from CRuby committers
— Urabe Shyouhei <shyouhei@...>
2017/01/04
I did ask attendees of last developer meeting to join this
[#78642] Re: ruby/spec needs help from CRuby committers
— Eric Wong <normalperson@...>
2016/12/14
Benoit Daloze <eregontp@gmail.com> wrote:
[ruby-core:78725] [Ruby trunk Feature#13020] Zlib.gzip and Zlib.gunzip
From:
naruse@...
Date:
2016-12-19 06:02:01 UTC
List:
ruby-core #78725
Issue #13020 has been updated by Yui NARUSE. Eric Wong wrote: > naruse@airemix.jp wrote: > > I added Zlib.deflate/inflate [Feature #4180] before, but writing/reading gzip is still too complex. > > It should have shorthand method. > > I like the convenience, but I think encouraging use of > potentially large String buffers is dangerous. > > It causes memory problems and even opens up DoS attacks. > > So, I think it would be better if it used IO-like object > instead, to discourage slurping. > > Maybe make it like IO.copy_stream: > > Zlib.gzip(src_io, dst_io) > Zlib.gunzip(src_io, dst_io) > > Slurpers can still use StringIO if they want to. > > > In general, I am against non-streaming APIs and want to > encourage processing data in predictable sizes to avoid > fragmentation and OOM. There's already Zlib.deflate/inflate, which are memory based API. And gzip also uses deflate/inflate. Note that gzip has the length of original data at the end of data. (isize=origsize / (2^32)) Anyway IO.copy_stream like API sounds reasonable. Current API needs to change interface to use keyword arguments to avoid using 2nd argument... ---------------------------------------- Feature #13020: Zlib.gzip and Zlib.gunzip https://bugs.ruby-lang.org/issues/13020#change-62096 * Author: Yui NARUSE * Status: Closed * Priority: Normal * Assignee: * Target version: ---------------------------------------- I added Zlib.deflate/inflate [Feature #4180] before, but writing/reading gzip is still too complex. It should have shorthand method. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>