Class: MessagePack::Factory::Pool
- Inherits:
-
Object
- Object
- MessagePack::Factory::Pool
- Defined in:
- lib/msgpack/factory.rb
Defined Under Namespace
Classes: MemberPool
Instance Method Summary collapse
- #dump(object) ⇒ Object
-
#initialize(factory, size, options = nil) ⇒ Pool
constructor
A new instance of Pool.
- #load(data) ⇒ Object
- #packer(&block) ⇒ Object
- #unpacker(&block) ⇒ Object
Constructor Details
#initialize(factory, size, options = nil) ⇒ Pool
Returns a new instance of Pool.
142 143 144 145 146 147 |
# File 'lib/msgpack/factory.rb', line 142 def initialize(factory, size, = nil) = nil if ! || .empty? @factory = factory @packers = MemberPool.new(size) { factory.packer().freeze } @unpackers = MemberPool.new(size) { factory.unpacker().freeze } end |
Instance Method Details
#dump(object) ⇒ Object
156 157 158 159 160 161 |
# File 'lib/msgpack/factory.rb', line 156 def dump(object) @packers.with do |packer| packer.write(object) packer.full_pack end end |
#load(data) ⇒ Object
149 150 151 152 153 154 |
# File 'lib/msgpack/factory.rb', line 149 def load(data) @unpackers.with do |unpacker| unpacker.feed(data) unpacker.full_unpack end end |
#packer(&block) ⇒ Object
167 168 169 |
# File 'lib/msgpack/factory.rb', line 167 def packer(&block) @packers.with(&block) end |
#unpacker(&block) ⇒ Object
163 164 165 |
# File 'lib/msgpack/factory.rb', line 163 def unpacker(&block) @unpackers.with(&block) end |