Sha256: 17d341cdc514e5b17a041a02bdc0378fab8b546dcf01502d23706c9c63af8167

Contents?: true

Size: 640 Bytes

Versions: 8

Compression:

Stored size: 640 Bytes

Contents

require 'zlib'
require 'json'

# A serializer class that provides compression
# 
# To use this instead of the default Marshal serializer, redefine the serializer method in your worker and worker_manager as this:
# 
# def serializer
#   ZlibSerializer
#   
# end
# 

class ZlibSerializer

  def self.dump(data)
    input=Marshal.dump(data)
    zipper = Zlib::Deflate.new(Zlib::BEST_COMPRESSION,15,9)
    res= zipper.deflate(input, Zlib::FINISH)
    zipper.close
    
    return res
  end

  def self.load(input)
    unzipper = Zlib::Inflate.new(15)
    res= unzipper.inflate(input)
    unzipper.close

    return Marshal.load(res)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
scbi_mapreduce-0.0.45 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.40 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.38 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.37 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.36 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.35 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.31 lib/scbi_mapreduce/zlib_serializer.rb
scbi_mapreduce-0.0.29 lib/scbi_mapreduce/zlib_serializer.rb