class Avro::DataFile::DeflateCodec

Attributes

level[R]

Public Class Methods

new(level=Zlib::DEFAULT_COMPRESSION) click to toggle source
    # File lib/avro/data_file.rb
311 def initialize(level=Zlib::DEFAULT_COMPRESSION)
312   @level = level
313 end

Public Instance Methods

codec_name() click to toggle source
    # File lib/avro/data_file.rb
315 def codec_name; 'deflate'; end
compress(data) click to toggle source
    # File lib/avro/data_file.rb
328 def compress(data)
329   zstream = Zlib::Deflate.new(level, -Zlib::MAX_WBITS)
330   compressed = zstream.deflate(data)
331   compressed << zstream.finish
332 ensure
333   zstream.close
334 end
decompress(compressed) click to toggle source
    # File lib/avro/data_file.rb
317 def decompress(compressed)
318   # Passing a negative number to Inflate puts it into "raw" RFC1951 mode
319   # (without the RFC1950 header & checksum). See the docs for
320   # inflateInit2 in https://www.zlib.net/manual.html
321   zstream = Zlib::Inflate.new(-Zlib::MAX_WBITS)
322   data = zstream.inflate(compressed)
323   data << zstream.finish
324 ensure
325   zstream.close
326 end