class MessagePack::Factory::Pool

Public Class Methods

new(factory, size, options = nil) click to toggle source
# File lib/msgpack/factory.rb, line 156
def initialize(factory, size, options = nil)
  options = nil if !options || options.empty?
  @factory = factory
  @packers = PackerPool.new(size) { factory.packer(options) }
  @unpackers = UnpackerPool.new(size) { factory.unpacker(options) }
end

Public Instance Methods

dump(object) click to toggle source
# File lib/msgpack/factory.rb, line 173
def dump(object)
  packer = @packers.checkout
  begin
    packer.write(object)
    packer.full_pack
  ensure
    @packers.checkin(packer)
  end
end
load(data) click to toggle source
# File lib/msgpack/factory.rb, line 163
def load(data)
  unpacker = @unpackers.checkout
  begin
    unpacker.feed_reference(data)
    unpacker.full_unpack
  ensure
    @unpackers.checkin(unpacker)
  end
end