public final class BufferUtils extends Object
| Modifier and Type | Field and Description |
|---|---|
static Int2IntFunction |
DEFAULT_BUFFER_GROWTH_FACTOR |
static char |
DEFAULT_HEX_SEPARATOR |
static char |
EMPTY_HEX_SEPARATOR |
static String |
HEX_DIGITS |
| Modifier and Type | Method and Description |
|---|---|
static <B extends Buffer> |
clear(B buffer)
Invokes
Buffer.clear() |
static boolean |
equals(byte[] a1,
byte[] a2) |
static boolean |
equals(byte[] a1,
int a1Offset,
byte[] a2,
int a2Offset,
int length) |
static int |
getNextPowerOf2(int i) |
static long |
getUInt(byte... buf) |
static long |
getUInt(byte[] buf,
int off,
int len) |
static String |
printHex(byte... array) |
static String |
printHex(byte[] array,
int offset,
int len) |
static String |
printHex(byte[] array,
int offset,
int len,
char sep) |
static String |
printHex(char sep,
byte... array) |
static int |
putUInt(long value,
byte[] buf)
Writes a 32-bit value in network order (i.e., MSB 1st)
|
static int |
putUInt(long value,
byte[] buf,
int off,
int len)
Writes a 32-bit value in network order (i.e., MSB 1st)
|
static int |
readInt(InputStream input,
byte[] buf)
Read a 32-bit value in network order
|
static int |
readInt(InputStream input,
byte[] buf,
int offset,
int len)
Read a 32-bit value in network order
|
static long |
readUInt(InputStream input,
byte[] buf)
Read a 32-bit value in network order
|
static long |
readUInt(InputStream input,
byte[] buf,
int offset,
int len)
Read a 32-bit value in network order
|
static int |
updateLengthPlaceholder(Buffer buffer,
int lenPos)
Used for encodings where we don't know the data length before adding it
to the buffer.
|
static void |
updateLengthPlaceholder(Buffer buffer,
int lenPos,
int dataLength)
Updates a 32-bit "placeholder" location for data length - moves
the write position to the specified placeholder position, updates the length
value and then moves the write position it back to its original value.
|
static void |
writeInt(OutputStream output,
int value,
byte[] buf)
Writes a 32-bit value in network order (i.e., MSB 1st)
|
static void |
writeInt(OutputStream output,
int value,
byte[] buf,
int off,
int len)
Writes a 32-bit value in network order (i.e., MSB 1st)
|
static void |
writeUInt(OutputStream output,
long value,
byte[] buf)
Writes a 32-bit value in network order (i.e., MSB 1st)
|
static void |
writeUInt(OutputStream output,
long value,
byte[] buf,
int off,
int len)
Writes a 32-bit value in network order (i.e., MSB 1st)
|
public static final char DEFAULT_HEX_SEPARATOR
public static final char EMPTY_HEX_SEPARATOR
public static final String HEX_DIGITS
public static final Int2IntFunction DEFAULT_BUFFER_GROWTH_FACTOR
public static String printHex(byte... array)
public static String printHex(char sep, byte... array)
public static String printHex(byte[] array, int offset, int len)
public static String printHex(byte[] array, int offset, int len, char sep)
public static int readInt(InputStream input, byte[] buf) throws IOException
input - The InputStreambuf - Work buffer to useIOException - If failed to read 4 bytes or not enough room inreadInt(InputStream, byte[], int, int)public static int readInt(InputStream input, byte[] buf, int offset, int len) throws IOException
input - The InputStreambuf - Work buffer to useoffset - Offset in buffer to uslen - Available length - must have at least 4 bytes availableIOException - If failed to read 4 bytes or not enough room in
work bufferreadUInt(InputStream, byte[], int, int)public static long readUInt(InputStream input, byte[] buf) throws IOException
input - The InputStreambuf - Work buffer to useIOException - If failed to read 4 bytes or not enough room inreadUInt(InputStream, byte[], int, int)public static long readUInt(InputStream input, byte[] buf, int offset, int len) throws IOException
input - The InputStreambuf - Work buffer to useoffset - Offset in buffer to uslen - Available length - must have at least 4 bytes availableIOException - If failed to read 4 bytes or not enough room in
work buffergetUInt(byte[], int, int)public static long getUInt(byte... buf)
buf - A buffer holding a 32-bit unsigned integer in big endian
format. Note: if more than 4 bytes are available, then only the
first 4 bytes in the buffer will be usedlong whose 32 high-order bits are zerogetUInt(byte[], int, int)public static long getUInt(byte[] buf,
int off,
int len)
buf - A buffer holding a 32-bit unsigned integer in big endian
format.off - The offset of the data in the bufferlen - The available data length. Note: if more than 4 bytes
are available, then only the first 4 bytes in the buffer will be
used (starting at the specified offset)long whose 32 high-order bits are zeropublic static void writeInt(OutputStream output, int value, byte[] buf) throws IOException
output - The OutputStream to write the valuevalue - The 32-bit valuebuf - A work buffer to use - must have enough space to contain 4 bytesIOException - If failed to write the value or work buffer to smallwriteInt(OutputStream, int, byte[], int, int)public static void writeInt(OutputStream output, int value, byte[] buf, int off, int len) throws IOException
output - The OutputStream to write the valuevalue - The 32-bit valuebuf - A work buffer to use - must have enough space to contain 4 bytesoff - The offset to write the valuelen - The available spaceIOException - If failed to write the value or work buffer to smallwriteUInt(OutputStream, long, byte[], int, int)public static void writeUInt(OutputStream output, long value, byte[] buf) throws IOException
output - The OutputStream to write the valuevalue - The 32-bit valuebuf - A work buffer to use - must have enough space to contain 4 bytesIOException - If failed to write the value or work buffer to smallwriteUInt(OutputStream, long, byte[], int, int)public static void writeUInt(OutputStream output, long value, byte[] buf, int off, int len) throws IOException
output - The OutputStream to write the valuevalue - The 32-bit valuebuf - A work buffer to use - must have enough space to contain 4 bytesoff - The offset to write the valuelen - The available spaceIOException - If failed to write the value or work buffer to smallputUInt(long, byte[], int, int)public static int putUInt(long value,
byte[] buf)
value - The 32-bit valuebuf - The bufferIllegalArgumentException - if not enough space availableputUInt(long, byte[], int, int)public static int putUInt(long value,
byte[] buf,
int off,
int len)
value - The 32-bit valuebuf - The bufferoff - The offset to write the valuelen - The available spaceIllegalArgumentException - if not enough space availablepublic static boolean equals(byte[] a1,
byte[] a2)
public static boolean equals(byte[] a1,
int a1Offset,
byte[] a2,
int a2Offset,
int length)
public static int getNextPowerOf2(int i)
public static int updateLengthPlaceholder(Buffer buffer, int lenPos)
buffer - The BufferlenPos - The offset in the buffer where the length placeholder is
to be update - Note: assumption is that the encoded data starts
immediately after the placeholderpublic static void updateLengthPlaceholder(Buffer buffer, int lenPos, int dataLength)
buffer - The BufferlenPos - The offset in the buffer where the length placeholder is
to be update - Note: assumption is that the encoded data starts
immediately after the placeholderdataLength - The length to updatepublic static <B extends Buffer> B clear(B buffer)
Buffer.clear()B - The generic buffer typebuffer - A Buffer instance - ignored if nullCopyright © 2008–2015 The Apache Software Foundation. All rights reserved.