public class BitOutputBuffer extends Object
NOTE: The methods implemented in this class are intended to be used only in writing packet heads, since a special bit stuffing procedure is used, as required for the packet heads.
| Modifier and Type | Field and Description | 
|---|---|
(package private) int | 
avbits
The number of available bits in the current byte 
 | 
(package private) byte[] | 
buf
The buffer where we store the data 
 | 
(package private) int | 
curbyte
The position of the current byte to write 
 | 
static int | 
SZ_INCR
The increment size for the buffer, 16 bytes. 
 | 
static int | 
SZ_INIT
The initial size for the buffer, 32 bytes. 
 | 
| Constructor and Description | 
|---|
BitOutputBuffer()
Creates a new BitOutputBuffer width a buffer of length
 'SZ_INIT'. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
byte[] | 
getBuffer()
Returns the byte buffer. 
 | 
int | 
getLength()
Returns the current length of the buffer, in bytes. 
 | 
void | 
reset()
Resets the buffer. 
 | 
byte[] | 
toByteArray(byte[] data)
Returns the byte buffer data in a new array. 
 | 
String | 
toString()
Prints information about this object for debugging purposes 
 | 
void | 
writeBit(int bit)
Writes a bit to the buffer at the current position. 
 | 
void | 
writeBits(int bits,
         int n)
Writes the n least significant bits of 'bits' to the buffer at the
 current position. 
 | 
byte[] buf
int curbyte
int avbits
public static final int SZ_INCR
public static final int SZ_INIT
public BitOutputBuffer()
public void reset()
public final void writeBit(int bit)
This method is declared final to increase performance.
bit - The bit to write, 0 or 1.public final void writeBits(int bits,
                            int n)
This method is declared final to increase performance.
bits - The bits to write.n - The number of LSBs in 'bits' to write.public final int getLength()
This method is declared final to increase performance.
public final byte[] getBuffer()
This method is declared final to increase performance.
public byte[] toByteArray(byte[] data)
data - If non-null this array is used to return the data, which
 mus be large enough. Otherwise a new one is created and returned.Copyright © 2017 Open Microscopy Environment