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
310 def initialize(level=Zlib::DEFAULT_COMPRESSION)
311   @level = level
312 end

Public Instance Methods

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