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.
181 182 183 184 185 186 |
# File 'lib/msgpack/factory.rb', line 181 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
195 196 197 198 199 200 |
# File 'lib/msgpack/factory.rb', line 195 def dump(object) @packers.with do |packer| packer.write(object) packer.full_pack end end |
#load(data) ⇒ Object
188 189 190 191 192 193 |
# File 'lib/msgpack/factory.rb', line 188 def load(data) @unpackers.with do |unpacker| unpacker.feed(data) unpacker.full_unpack end end |
#packer(&block) ⇒ Object
206 207 208 |
# File 'lib/msgpack/factory.rb', line 206 def packer(&block) @packers.with(&block) end |
#unpacker(&block) ⇒ Object
202 203 204 |
# File 'lib/msgpack/factory.rb', line 202 def unpacker(&block) @unpackers.with(&block) end |