Class: MessagePack::Factory::Pool
- Inherits:
-
Object
- Object
- MessagePack::Factory::Pool
- Defined in:
- lib/msgpack/factory.rb
Defined Under Namespace
Classes: AbstractPool, PackerPool, UnpackerPool
Instance Method Summary collapse
- #dump(object) ⇒ Object
-
#initialize(factory, size, options = nil) ⇒ Pool
constructor
A new instance of Pool.
- #load(data) ⇒ Object
Constructor Details
#initialize(factory, size, options = nil) ⇒ Pool
Returns a new instance of Pool.
156 157 158 159 160 161 |
# File 'lib/msgpack/factory.rb', line 156 def initialize(factory, size, = nil) = nil if ! || .empty? @factory = factory @packers = PackerPool.new(size) { factory.packer() } @unpackers = UnpackerPool.new(size) { factory.unpacker() } end |
Instance Method Details
#dump(object) ⇒ Object
173 174 175 176 177 178 179 180 181 |
# 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) ⇒ Object
163 164 165 166 167 168 169 170 171 |
# 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 |