Package com.itextpdf.io.codec.brotli.dec
Class BitReader
- java.lang.Object
-
- com.itextpdf.io.codec.brotli.dec.BitReader
-
final class BitReader extends java.lang.ObjectBit reading helpers.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) longaccumulatorPre-fetched bits.(package private) intbitOffsetCurrent bit-reading position in accumulator.private static intBYTE_BUFFER_SIZEprivate static intBYTE_READ_SIZEprivate byte[]byteBufferprivate static intCAPACITYInput byte buffer, consist of a ring-buffer and a "slack" region where bytes from the start of the ring-buffer are copied.private booleanendOfStreamReachedInput stream is finished.private java.io.InputStreaminputprivate static intINT_BUFFER_SIZEprivate int[]intBufferprivate intintOffsetOffset of next item in intBuffer.private IntReaderintReaderprivate static intSLACKprivate inttailBytes
-
Constructor Summary
Constructors Constructor Description BitReader()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static voidcheckHealth(BitReader br, boolean endOfStream)(package private) static voidclose(BitReader br)(package private) static voidcopyBytes(BitReader br, byte[] data, int offset, int length)(package private) static voidfillBitWindow(BitReader br)Advances the Read buffer by 5 bytes to make room for reading next 24 bits.(package private) static voidinit(BitReader br, java.io.InputStream input)Initialize bit reader.(package private) static intintAvailable(BitReader br)(package private) static voidjumpToByteBoundary(BitReader br)private static voidprepare(BitReader br)(package private) static intreadBits(BitReader br, int n)Reads the specified number of bits from Read Buffer.(package private) static voidreadMoreInput(BitReader br)Fills up the input buffer.(package private) static voidreload(BitReader br)
-
-
-
Field Detail
-
CAPACITY
private static final int CAPACITY
Input byte buffer, consist of a ring-buffer and a "slack" region where bytes from the start of the ring-buffer are copied.- See Also:
- Constant Field Values
-
SLACK
private static final int SLACK
- See Also:
- Constant Field Values
-
INT_BUFFER_SIZE
private static final int INT_BUFFER_SIZE
- See Also:
- Constant Field Values
-
BYTE_READ_SIZE
private static final int BYTE_READ_SIZE
- See Also:
- Constant Field Values
-
BYTE_BUFFER_SIZE
private static final int BYTE_BUFFER_SIZE
- See Also:
- Constant Field Values
-
byteBuffer
private final byte[] byteBuffer
-
intBuffer
private final int[] intBuffer
-
intReader
private final IntReader intReader
-
input
private java.io.InputStream input
-
endOfStreamReached
private boolean endOfStreamReached
Input stream is finished.
-
accumulator
long accumulator
Pre-fetched bits.
-
bitOffset
int bitOffset
Current bit-reading position in accumulator.
-
intOffset
private int intOffset
Offset of next item in intBuffer.
-
tailBytes
private int tailBytes
-
-
Method Detail
-
readMoreInput
static void readMoreInput(BitReader br)
Fills up the input buffer.No-op if there are at least 36 bytes present after current position.
After encountering the end of the input stream, 64 additional zero bytes are copied to the buffer.
-
checkHealth
static void checkHealth(BitReader br, boolean endOfStream)
-
fillBitWindow
static void fillBitWindow(BitReader br)
Advances the Read buffer by 5 bytes to make room for reading next 24 bits.
-
readBits
static int readBits(BitReader br, int n)
Reads the specified number of bits from Read Buffer.
-
init
static void init(BitReader br, java.io.InputStream input)
Initialize bit reader.Initialisation turns bit reader to a ready state. Also a number of bytes is prefetched to accumulator. Because of that this method may block until enough data could be read from input.
- Parameters:
br- BitReader POJOinput- data source
-
prepare
private static void prepare(BitReader br)
-
reload
static void reload(BitReader br)
-
close
static void close(BitReader br) throws java.io.IOException
- Throws:
java.io.IOException
-
jumpToByteBoundary
static void jumpToByteBoundary(BitReader br)
-
intAvailable
static int intAvailable(BitReader br)
-
copyBytes
static void copyBytes(BitReader br, byte[] data, int offset, int length)
-
-