Class Bzip2BitReader
java.lang.Object
io.netty.handler.codec.compression.Bzip2BitReader
An bit reader that allows the reading of single bit booleans, bit strings of
arbitrary length (up to 32 bits), and bit aligned 32-bit integers. A single byte
at a time is read from the
ByteBuf
when more bits are required.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate long
A buffer of bits read from the input stream that have not yet been returned.private int
The number of bits currently buffered inbitBuffer
.private ByteBuf
TheByteBuf
from which to read data.private static final int
Maximum count of possible readable bytes to check. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
hasReadableBits
(int count) Checks that the specified number of bits available for reading.(package private) boolean
hasReadableBytes
(int count) Checks that the specified number of bytes available for reading.(package private) boolean
Checks that at least one bit is available for reading.(package private) int
readBits
(int count) Reads up to 32 bits from theByteBuf
.(package private) boolean
Reads a single bit from theByteBuf
.(package private) int
readInt()
Reads 32 bits of input as an integer.(package private) void
refill()
Refill theByteBuf
by one byte.(package private) void
setByteBuf
(ByteBuf in) Set theByteBuf
from which to read data.
-
Field Details
-
MAX_COUNT_OF_READABLE_BYTES
private static final int MAX_COUNT_OF_READABLE_BYTESMaximum count of possible readable bytes to check.- See Also:
-
in
TheByteBuf
from which to read data. -
bitBuffer
private long bitBufferA buffer of bits read from the input stream that have not yet been returned. -
bitCount
private int bitCountThe number of bits currently buffered inbitBuffer
.
-
-
Constructor Details
-
Bzip2BitReader
Bzip2BitReader()
-
-
Method Details
-
setByteBuf
Set theByteBuf
from which to read data. -
readBits
int readBits(int count) Reads up to 32 bits from theByteBuf
.- Parameters:
count
- The number of bits to read (maximum32
as a size ofint
)- Returns:
- The bits requested, right-aligned within the integer
-
readBoolean
boolean readBoolean()Reads a single bit from theByteBuf
.- Returns:
true
if the bit read was1
, otherwisefalse
-
readInt
int readInt()Reads 32 bits of input as an integer.- Returns:
- The integer read
-
refill
void refill()Refill theByteBuf
by one byte. -
isReadable
boolean isReadable()Checks that at least one bit is available for reading.- Returns:
true
if one bit is available for reading, otherwisefalse
-
hasReadableBits
boolean hasReadableBits(int count) Checks that the specified number of bits available for reading.- Parameters:
count
- The number of bits to check- Returns:
true
ifcount
bits are available for reading, otherwisefalse
-
hasReadableBytes
boolean hasReadableBytes(int count) Checks that the specified number of bytes available for reading.- Parameters:
count
- The number of bytes to check- Returns:
true
ifcount
bytes are available for reading, otherwisefalse
-