/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes out the encoded block data. */ private void writeBlockData(ByteBuf out) { final Bzip2BitWriter writer = this.writer; final int[][] huffmanMergedCodeSymbols = this.huffmanMergedCodeSymbols; final byte[] selectors = this.selectors; final char[] mtf = mtfBlock; final int mtfLength = this.mtfLength; int selectorIndex = 0; for (int mtfIndex = 0; mtfIndex < mtfLength;) { final int groupEnd = Math.min(mtfIndex + HUFFMAN_GROUP_RUN_LENGTH, mtfLength) - 1; final int[] tableMergedCodeSymbols = huffmanMergedCodeSymbols[selectors[selectorIndex++]]; while (mtfIndex <= groupEnd) { final int mergedCodeSymbol = tableMergedCodeSymbols[mtf[mtfIndex++]]; writer.writeBits(out, mergedCodeSymbol >>> 24, mergedCodeSymbol); } } }
/** * Writes out the encoded block data. */ private void writeBlockData(ByteBuf out) { final Bzip2BitWriter writer = this.writer; final int[][] huffmanMergedCodeSymbols = this.huffmanMergedCodeSymbols; final byte[] selectors = this.selectors; final char[] mtf = mtfBlock; final int mtfLength = this.mtfLength; int selectorIndex = 0; for (int mtfIndex = 0; mtfIndex < mtfLength;) { final int groupEnd = Math.min(mtfIndex + HUFFMAN_GROUP_RUN_LENGTH, mtfLength) - 1; final int[] tableMergedCodeSymbols = huffmanMergedCodeSymbols[selectors[selectorIndex++]]; while (mtfIndex <= groupEnd) { final int mergedCodeSymbol = tableMergedCodeSymbols[mtf[mtfIndex++]]; writer.writeBits(out, mergedCodeSymbol >>> 24, mergedCodeSymbol); } } }
/** * Writes out the encoded block data. */ private void writeBlockData(ByteBuf out) { final Bzip2BitWriter writer = this.writer; final int[][] huffmanMergedCodeSymbols = this.huffmanMergedCodeSymbols; final byte[] selectors = this.selectors; final char[] mtf = mtfBlock; final int mtfLength = this.mtfLength; int selectorIndex = 0; for (int mtfIndex = 0; mtfIndex < mtfLength;) { final int groupEnd = Math.min(mtfIndex + HUFFMAN_GROUP_RUN_LENGTH, mtfLength) - 1; final int[] tableMergedCodeSymbols = huffmanMergedCodeSymbols[selectors[selectorIndex++]]; while (mtfIndex <= groupEnd) { final int mergedCodeSymbol = tableMergedCodeSymbols[mtf[mtfIndex++]]; writer.writeBits(out, mergedCodeSymbol >>> 24, mergedCodeSymbol); } } }
final int mtfAlphabetSize = this.mtfAlphabetSize; writer.writeBits(out, 3, totalTables); writer.writeBits(out, 15, totalSelectors); int currentLength = tableLengths[0]; writer.writeBits(out, 5, currentLength); int delta = Math.abs(codeLength - currentLength); while (delta-- > 0) { writer.writeBits(out, 2, value);
private ChannelFuture finishEncode(final ChannelHandlerContext ctx, ChannelPromise promise) { if (finished) { promise.setSuccess(); return promise; } finished = true; final ByteBuf footer = ctx.alloc().buffer(); closeBlock(footer); final int streamCRC = this.streamCRC; final Bzip2BitWriter writer = this.writer; try { writer.writeBits(footer, 24, END_OF_STREAM_MAGIC_1); writer.writeBits(footer, 24, END_OF_STREAM_MAGIC_2); writer.writeInt(footer, streamCRC); writer.flush(footer); } finally { blockCompressor = null; } return ctx.writeAndFlush(footer, promise); }
final int mtfAlphabetSize = this.mtfAlphabetSize; writer.writeBits(out, 3, totalTables); writer.writeBits(out, 15, totalSelectors); int currentLength = tableLengths[0]; writer.writeBits(out, 5, currentLength); int delta = Math.abs(codeLength - currentLength); while (delta-- > 0) { writer.writeBits(out, 2, value);
private ChannelFuture finishEncode(final ChannelHandlerContext ctx, ChannelPromise promise) { if (finished) { promise.setSuccess(); return promise; } finished = true; final ByteBuf footer = ctx.alloc().buffer(); closeBlock(footer); final int streamCRC = this.streamCRC; final Bzip2BitWriter writer = this.writer; try { writer.writeBits(footer, 24, END_OF_STREAM_MAGIC_1); writer.writeBits(footer, 24, END_OF_STREAM_MAGIC_2); writer.writeInt(footer, streamCRC); writer.flush(footer); } finally { blockCompressor = null; } return ctx.writeAndFlush(footer, promise); }
final int mtfAlphabetSize = this.mtfAlphabetSize; writer.writeBits(out, 3, totalTables); writer.writeBits(out, 15, totalSelectors); int currentLength = tableLengths[0]; writer.writeBits(out, 5, currentLength); int delta = Math.abs(codeLength - currentLength); while (delta-- > 0) { writer.writeBits(out, 2, value);
private ChannelFuture finishEncode(final ChannelHandlerContext ctx, ChannelPromise promise) { if (finished) { promise.setSuccess(); return promise; } finished = true; final ByteBuf footer = ctx.alloc().buffer(); closeBlock(footer); final int streamCRC = this.streamCRC; final Bzip2BitWriter writer = this.writer; try { writer.writeBits(footer, 24, END_OF_STREAM_MAGIC_1); writer.writeBits(footer, 24, END_OF_STREAM_MAGIC_2); writer.writeInt(footer, streamCRC); writer.flush(footer); } finally { blockCompressor = null; } return ctx.writeAndFlush(footer, promise); }
/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes an integer as 32 bits to the output {@link ByteBuf}. * @param value The integer to write */ void writeInt(ByteBuf out, final int value) { writeBits(out, 32, value); }
/** * Writes out the encoded block data. */ private void writeBlockData(ByteBuf out) { final Bzip2BitWriter writer = this.writer; final int[][] huffmanMergedCodeSymbols = this.huffmanMergedCodeSymbols; final byte[] selectors = this.selectors; final char[] mtf = mtfBlock; final int mtfLength = this.mtfLength; int selectorIndex = 0; for (int mtfIndex = 0; mtfIndex < mtfLength;) { final int groupEnd = Math.min(mtfIndex + HUFFMAN_GROUP_RUN_LENGTH, mtfLength) - 1; final int[] tableMergedCodeSymbols = huffmanMergedCodeSymbols[selectors[selectorIndex++]]; while (mtfIndex <= groupEnd) { final int mergedCodeSymbol = tableMergedCodeSymbols[mtf[mtfIndex++]]; writer.writeBits(out, mergedCodeSymbol >>> 24, mergedCodeSymbol); } } }