class MessagePack::Factory::Pool

Public Class Methods

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

Public Instance Methods

dump(object) click to toggle source
# File lib/msgpack/factory.rb, line 195
def dump(object)
  @packers.with do |packer|
    packer.write(object)
    packer.full_pack
  end
end
load(data) click to toggle source
# File lib/msgpack/factory.rb, line 188
def load(data)
  @unpackers.with do |unpacker|
    unpacker.feed(data)
    unpacker.full_unpack
  end
end
packer(&block) click to toggle source
# File lib/msgpack/factory.rb, line 206
def packer(&block)
  @packers.with(&block)
end
unpacker(&block) click to toggle source
# File lib/msgpack/factory.rb, line 202
def unpacker(&block)
  @unpackers.with(&block)
end