public void compressBuffer(ByteBuffer input, ByteBuffer output) { Deflater def = deflater.get(); def.reset(); byte[] buffer = getThreadLocalScratchBuffer(); // Use half the buffer for input, half for output. int chunkLen = buffer.length / 2; while (input.remaining() > chunkLen) { input.get(buffer, 0, chunkLen); def.setInput(buffer, 0, chunkLen); while (!def.needsInput()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } } int inputLength = input.remaining(); input.get(buffer, 0, inputLength); def.setInput(buffer, 0, inputLength); def.finish(); while (!def.finished()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } }
public void compressBuffer(ByteBuffer input, ByteBuffer output) { Deflater def = deflater.get(); def.reset(); byte[] buffer = getThreadLocalScratchBuffer(); // Use half the buffer for input, half for output. int chunkLen = buffer.length / 2; while (input.remaining() > chunkLen) { input.get(buffer, 0, chunkLen); def.setInput(buffer, 0, chunkLen); while (!def.needsInput()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } } int inputLength = input.remaining(); input.get(buffer, 0, inputLength); def.setInput(buffer, 0, inputLength); def.finish(); while (!def.finished()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } }
inf.reset(); byte[] buffer = getThreadLocalScratchBuffer();
public void compressBuffer(ByteBuffer input, ByteBuffer output) { Deflater def = deflater.get(); def.reset(); byte[] buffer = getThreadLocalScratchBuffer(); // Use half the buffer for input, half for output. int chunkLen = buffer.length / 2; while (input.remaining() > chunkLen) { input.get(buffer, 0, chunkLen); def.setInput(buffer, 0, chunkLen); while (!def.needsInput()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } } int inputLength = input.remaining(); input.get(buffer, 0, inputLength); def.setInput(buffer, 0, inputLength); def.finish(); while (!def.finished()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } }
public void compressBuffer(ByteBuffer input, ByteBuffer output) { Deflater def = deflater.get(); def.reset(); byte[] buffer = getThreadLocalScratchBuffer(); // Use half the buffer for input, half for output. int chunkLen = buffer.length / 2; while (input.remaining() > chunkLen) { input.get(buffer, 0, chunkLen); def.setInput(buffer, 0, chunkLen); while (!def.needsInput()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } } int inputLength = input.remaining(); input.get(buffer, 0, inputLength); def.setInput(buffer, 0, inputLength); def.finish(); while (!def.finished()) { int len = def.deflate(buffer, chunkLen, chunkLen); output.put(buffer, chunkLen, len); } }
inf.reset(); byte[] buffer = getThreadLocalScratchBuffer();
inf.reset(); byte[] buffer = getThreadLocalScratchBuffer();
inf.reset(); byte[] buffer = getThreadLocalScratchBuffer();