@Override public void returnKryo(Kryo kryo) { pool.release(kryo); } }
@Override public void returnKryo(Kryo kryo) { pool.release(kryo); } }
/** * Release kryo instance back to the pool. * * @param kryo - kryo instance to be released */ public static void releaseKryo(Kryo kryo) { kryoPool.release(kryo); }
@Override public void release(Kryo kryo) { kryoPool.release(kryo); }
private void init() { for (int i = 0; i < initPoolSize; i++) { Kryo kryo = pool.borrow(); pool.release(kryo); } }
@Override public Object deserialize(byte[] serialized) { Kryo kryo = pool.borrow(); try (Input input = new Input(new ByteArrayInputStream(serialized))) { Object o = kryo.readClassAndObject(input); return o; } finally { pool.release(kryo); } }
@Override public Object deserialize(final InputStream input) throws IOException { Kryo kryo; kryo = pool.borrow(); try (Input in = new Input(input)) { return kryo.readClassAndObject(in); } finally { input.close(); pool.release(kryo); } }
@Override public byte[] serialize(Object obj, int bufferSize) { Kryo kryo = pool.borrow(); try (Output output = new Output(new ByteArrayOutputStream(), bufferSize)) { kryo.writeClassAndObject(output, obj); return output.toBytes(); } finally { pool.release(kryo); } }
@Override public void serialize(final OutputStream output, final Object object) throws IOException { Kryo kryo = pool.borrow(); Output out = new Output(output); kryo.writeClassAndObject(out, object); out.close(); output.close(); pool.release(kryo); }
@Override public IN apply(byte[] bytes) { final Kryo kryo = engine.borrow(); try { IN obj = kryo.readObject(new UnsafeMemoryInput(bytes), type); if (null != next) { next.accept(obj); return null; } else { return obj; } } finally { engine.release(kryo); } } };
@Override public byte[] apply(OUT o) { final Kryo kryo = engine.borrow(); try { UnsafeMemoryOutput out = new UnsafeMemoryOutput(Buffer.SMALL_BUFFER_SIZE, Buffer.MAX_BUFFER_SIZE); kryo.writeObject(out, o); out.flush(); return out.toBytes(); } finally { engine.release(kryo); } } };
@Override public Object[] deserialize(byte[] message) { try { Input input = new Input(new ByteArrayInputStream(message)); Kryo kryo = pool.borrow(); Object[] objects = kryo.readObjectOrNull(input, Object[].class); pool.release(kryo); return objects; } catch (KryoException e) { throw new OmegaException("Unable to deserialize message", e); } } }
@Override public byte[] serialize(Object[] objects) { Output output = new Output(DEFAULT_BUFFER_SIZE, -1); Kryo kryo = pool.borrow(); kryo.writeObjectOrNull(output, objects, Object[].class); pool.release(kryo); return output.toBytes(); }
/** * {@inheritDoc} */ @SuppressWarnings( "unchecked" ) @Override public ConcurrentMap<String, Object> deserializeAttributes(final byte[] data ) { final Kryo kryo = _kryoPool.borrow(); Input in = null; try { in = kryo.getStreamFactory().getInput(data); return kryo.readObject(in, ConcurrentHashMap.class); } catch ( final RuntimeException e ) { throw new TranscoderDeserializationException( e ); } finally { closeSilently(in); kryo.reset(); // to be safe _kryoPool.release(kryo); } }
@Override public void returnKryo(Kryo kryo) { pool.release(kryo); } }
/** * {@inheritDoc} */ @Override public byte[] serializeAttributes( final MemcachedBackupSession session, final ConcurrentMap<String, Object> attributes ) { final Kryo kryo = _kryoPool.borrow(); Output out = null; try { /** * Creates an ObjectStream with an initial buffer size of 50KB and a maximum size of 1000KB. */ out = kryo.getStreamFactory().getOutput(_initialBufferSize, _maxBufferSize); kryo.writeObject(out, attributes); return out.toBytes(); } catch ( final RuntimeException e ) { throw new TranscoderDeserializationException( e ); } finally { closeSilently(out); kryo.reset(); // to be safe _kryoPool.release(kryo); } }
@Override public byte[] serialize(String topic, T data) { Kryo kryo = kryoPool.borrow(); ByteArrayOutputStream basos = new ByteArrayOutputStream(); Output output = new Output(basos); kryo.writeClassAndObject(output, data); output.flush(); this.kryoPool.release(kryo); return basos.toByteArray(); }
@Override @SuppressWarnings("unchecked") public T deserialize(final String topic, final byte[] data) { if (data == null) return null; Kryo kryo = kryoPool.borrow(); ByteBufferInputStream bbis = new ByteBufferInputStream(ByteBuffer.wrap(data)); Input input = new Input(bbis); T result = (T) kryo.readClassAndObject(input); this.kryoPool.release(kryo); return result; }
Object kryoDeserialize(byte[] bytes, Class<?> type) { Kryo kryo = KRYO_POOL.borrow(); try { ByteArrayInputStream bais = new ByteArrayInputStream(bytes); try (Input input = getInput(bais)) { return kryo.readObject(input, type); } } finally { KRYO_POOL.release(kryo); } } }
@Override public IN apply(byte[] bytes) { final Kryo kryo = engine.borrow(); try { return kryo.readObject(new UnsafeMemoryInput(bytes), type); } finally { engine.release(kryo); } } };