private void writeFooter() throws IOException { sink.writeIntLe((int) crc.getValue()); // CRC of original data. sink.writeIntLe((int) deflater.getBytesRead()); // Length of original data. }
@Override public void close() throws IOException { if (LOG.isDebugEnabled()) { final StringBuilder sb = new StringBuilder(); long bytesWritten = this.def.getBytesWritten(); long bytesRead = this.def.getBytesRead(); sb.append("POST body length compressed / uncompressed / compression ratio: "); sb.append(bytesWritten); sb.append(" / "); sb.append(bytesRead); sb.append(" / "); sb.append(String.format( "%.2f", bytesRead / (double)bytesWritten)); LOG.debug(sb.toString()); } super.close(); } };
public void finish() throws IOException { super.finish(); if (_isGzip) { long crcValue = _crc32.getValue(); byte[] trailerCRC = new byte[4]; trailerCRC[0] = (byte) crcValue; trailerCRC[1] = (byte) (crcValue >> 8); trailerCRC[2] = (byte) (crcValue >> 16); trailerCRC[3] = (byte) (crcValue >> 24); out.write(trailerCRC, 0, trailerCRC.length); } long inputSize = def.getBytesRead(); byte[] trailerInputSize = new byte[4]; trailerInputSize[0] = (byte) inputSize; trailerInputSize[1] = (byte) (inputSize >> 8); trailerInputSize[2] = (byte) (inputSize >> 16); trailerInputSize[3] = (byte) (inputSize >> 24); out.write(trailerInputSize, 0, trailerInputSize.length); out.flush(); }
private void writeFooter() throws IOException { sink.writeIntLe((int) crc.getValue()); // CRC of original data. sink.writeIntLe((int) deflater.getBytesRead()); // Length of original data. }
/** * Write the final buffer. This writes any remaining compressed data and the GZIP trailer. * * @return the final buffer */ public ByteBuffer doFinal() { deflater.finish(); int r; do { r = deflater.deflate(transfer, 0, transfer.length, Deflater.FULL_FLUSH); buffer.write(transfer, 0, r); } while (r == transfer.length); writeInt((int) crc.getValue()); writeInt((int) deflater.getBytesRead()); deflater.reset(); byte[] outBytes = buffer.toByteArray(); buffer.reset(); return ByteBuffer.wrap(outBytes); }
private void writeFooter() throws IOException { sink.writeIntLe((int) crc.getValue()); // CRC of original data. sink.writeIntLe((int) deflater.getBytesRead()); // Length of original data. }
private void writeFooter() throws IOException { sink.writeIntLe((int) crc.getValue()); // CRC of original data. sink.writeIntLe((int) deflater.getBytesRead()); // Length of original data. }
private static String toDetail(Deflater deflater) { return String.format("Deflater[finished=%b,read=%d,written=%d,in=%d,out=%d]",deflater.finished(),deflater.getBytesRead(),deflater.getBytesWritten(), deflater.getTotalIn(),deflater.getTotalOut()); }
entry.uncompressed_size = def.getBytesRead(); entry.compressed_size = def.getBytesWritten(); entry.comp_crc32 = (int)(crc.getValue() & 0xffffffff); entry.crc32 = entry.comp_crc32; entry.comp_isize = (int)(def.getBytesRead() & 0xffffffff); entry.isize = entry.comp_isize; trailerBytes[0] = (byte)(entry.crc32 & 255);
private static String toDetail(Deflater deflater) { return String.format("Deflater[finished=%b,read=%d,written=%d,in=%d,out=%d]", deflater.finished(), deflater.getBytesRead(), deflater.getBytesWritten(), deflater.getTotalIn(), deflater.getTotalOut()); }
private static String toDetail(Deflater deflater) { return String.format("Deflater[finished=%b,read=%d,written=%d,in=%d,out=%d]", deflater.finished(), deflater.getBytesRead(), deflater.getBytesWritten(), deflater.getTotalIn(), deflater.getTotalOut()); }
long oldPos = deflater.getBytesRead(); int numWritten = doDeflate(buf, off, len, flushFlag); int numRead = (int)(deflater.getBytesRead() - oldPos); GZipHeader.writeGZipTrailer(checksum.getValue(), deflater.getBytesRead()); out.put(trailer); if (!out.hasRemaining()) {
if (doMeasurement) { idxAndLen.add((int)(sm.statDetails[i].afterZip = deflater.getBytesWritten())); idxAndLen.add((int)(sm.statDetails[i].beforeZip = deflater.getBytesRead())); sm.statDetails[i].zipTime = System.currentTimeMillis() - startTime; } else { idxAndLen.add((int)deflater.getBytesWritten()); idxAndLen.add((int)deflater.getBytesRead());
if (doMeasurements) { idxAndLen.add((int)(sm.statDetails[i].afterZip = deflater.getBytesWritten())); idxAndLen.add((int)(sm.statDetails[i].beforeZip = deflater.getBytesRead())); sm.statDetails[i].zipTime = System.currentTimeMillis() - startTime; } else { idxAndLen.add((int)deflater.getBytesWritten()); idxAndLen.add((int)deflater.getBytesRead());
logger.debug("Flushing {} uncompressed {} compressed bytes", deflater.getBytesRead(), deflater.getBytesWritten());
@Override public Async<ByteBuffer> read() throws IllegalStateException { switch(state) { case gzipHeader: this.deflater = new Deflater(compressionLevel, true); this.crc = new CRC32(); state = State.reading; return Result.success(ByteBuffer.wrap(gzip_header)); case reading: return read_deflate_loop(); case deflating: ByteBuffer result = deflate(); if(result!=null) return Result.success(result); else // no output, needs new input return read_deflate_loop(); case gzipTrailer: byte[] gzip_trailer = trailer(crc.getValue(), deflater.getBytesRead()); state = State.gzipDone; return Result.success(ByteBuffer.wrap(gzip_trailer)); case gzipDone: return _Util.EOF; case closed: throw new IllegalStateException("closed"); default: throw new AssertionError(); } }
writeInt((int) deflater.getBytesRead());
if (e.getSize() != def.getBytesRead()) { throw new ZipException("invalid entry size (expected " + e.getSize() + " but got " + def.getBytesRead() + " bytes)"); e.setSize(def.getBytesRead()); e.setCompressedSize(def.getBytesWritten()); e.setCrc(crc.getValue());
if (e.getSize() != def.getBytesRead()) { throw new ZipException( "invalid entry size (expected " + e.getSize() + " but got " + def.getBytesRead() + " bytes)"); e.setSize(def.getBytesRead()); e.setCompressedSize(def.getBytesWritten()); e.setCrc(crc.getValue());