/** {@inheritDoc} */ @Override public LZFChunk call() { if (data != null) { LZFChunk lzfChunk = ENCODER.get().encodeChunk(data, offset, length); // input data is fully processed, we can now discard it blockManager.releaseBlockToPool(data); return lzfChunk; } else { // cleanup time! ENCODER.remove(); return null; } }
/** {@inheritDoc} */ @Override public LZFChunk call() { if (data != null) { LZFChunk lzfChunk = ENCODER.get().encodeChunk(data, offset, length); // input data is fully processed, we can now discard it blockManager.releaseBlockToPool(data); return lzfChunk; } else { // cleanup time! ENCODER.remove(); return null; } }
/** {@inheritDoc} */ @Override public LZFChunk call() { if (data != null) { LZFChunk lzfChunk = ENCODER.get().encodeChunk(data, offset, length); // input data is fully processed, we can now discard it blockManager.releaseBlockToPool(data); return lzfChunk; } else { // cleanup time! ENCODER.remove(); return null; } }
@Override public byte[] toBytes(ResourceHolder<T> holder) { T val = holder.get(); ByteBuffer buf = ByteBuffer.allocate(converter.sizeOf(val.remaining())).order(order); converter.combine(buf, val); final ResourceHolder<ChunkEncoder> encoder = CompressedPools.getChunkEncoder(); LZFChunk chunk = encoder.get().encodeChunk(buf.array(), 0, buf.array().length); Closeables.closeQuietly(encoder); return chunk.getData(); }
LZFChunk first = enc.encodeChunk(data, offset, chunkLen); left -= chunkLen; LZFChunk chunk = enc.encodeChunk(data, offset, chunkLen); offset += chunkLen; left -= chunkLen;
LZFChunk first = enc.encodeChunk(data, offset, chunkLen); left -= chunkLen; LZFChunk chunk = enc.encodeChunk(data, offset, chunkLen); offset += chunkLen; left -= chunkLen;
LZFChunk first = enc.encodeChunk(data, offset, chunkLen); left -= chunkLen; LZFChunk chunk = enc.encodeChunk(data, offset, chunkLen); offset += chunkLen; left -= chunkLen;