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