Package com.esotericsoftware.kryo.pool
Interface KryoPool
-
- All Known Implementing Classes:
KryoPoolQueueImpl
public interface KryoPool
A simple pool interface forKryo
instances. Use theKryoPool.Builder
to construct a pool instance. Usage:import com.esotericsoftware.kryo.Kryo; import com.esotericsoftware.kryo.pool.*; KryoFactory factory = new KryoFactory() { public Kryo create () { Kryo kryo = new Kryo(); // configure kryo instance, customize settings return kryo; } }; // Simple pool, you might also activate SoftReferences to fight OOMEs. KryoPool pool = new KryoPool.Builder(factory).build(); Kryo kryo = pool.borrow(); // do s.th. with kryo here, and afterwards release it pool.release(kryo); // or use a callback to work with kryo (pool.run borrows+releases for you) String value = pool.run(new KryoCallback
() { public String execute(Kryo kryo) { return kryo.readObject(input, String.class); } });
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
KryoPool.Builder
Builder for aKryoPool
instance, constructs aKryoPoolQueueImpl
instance.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Kryo
borrow()
Takes aKryo
instance from the pool or creates a new one (using the factory) if the pool is empty.void
release(Kryo kryo)
Returns the givenKryo
instance to the pool.<T> T
run(KryoCallback<T> callback)
Runs the providedKryoCallback
with aKryo
instance from the pool (borrow/release aroundKryoCallback.execute(Kryo)
).
-
-
-
Method Detail
-
borrow
Kryo borrow()
Takes aKryo
instance from the pool or creates a new one (using the factory) if the pool is empty.
-
run
<T> T run(KryoCallback<T> callback)
Runs the providedKryoCallback
with aKryo
instance from the pool (borrow/release aroundKryoCallback.execute(Kryo)
).
-
-