Class Buffer
java.lang.Object
org.mariadb.jdbc.internal.com.read.Buffer
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte
getByte()
Read current buffer byte without incrementing position.byte
getByteAt
(int position) Get next data bytes from length encoded prefix.byte[]
Get next data bytes with length encoded prefix.long
Get next binary data length.private void
grow()
Grow data array.int
Read 24 bit integer.byte
readByte()
Reads a byte from the buffer.byte[]
Reads a byte array from the buffer, looks for a 0 to end the array.int
readInt()
Read a int (4 bytes) from the buffer.long
readLong()
Read a long (8 bytes) from the buffer.byte[]
readRawBytes
(int numberOfBytes) Read raw data.short
Read a short (2 bytes) from the buffer.readString
(int numberOfBytes) Read String with defined length.readStringLengthEncoded
(Charset charset) Reads length-encoded string.readStringNullEnd
(Charset charset) Reads a string from the buffer, looks for a 0 to end the string.int
void
skipByte()
void
skipBytes
(int bytesToSkip) void
Skip next length encode binary data.void
Skip length encoded numericvoid
writeBytes
(byte header, byte[] bytes) Write bytes.void
writeLength
(long length) Write length.void
writeStringLength
(byte[] bytes) Write value with length encoded prefix.void
writeStringLength
(String value) Write value with length encoded prefix.void
writeStringSmallLength
(byte[] value) Write value with length encoded prefix.
-
Field Details
-
buf
public byte[] buf -
position
public int position -
limit
public int limit
-
-
Constructor Details
-
Buffer
public Buffer(byte[] buf, int limit) -
Buffer
public Buffer(byte[] buf) Constructor with default limit and offset.- Parameters:
buf
- byte array
-
-
Method Details
-
remaining
public int remaining() -
readStringNullEnd
Reads a string from the buffer, looks for a 0 to end the string.- Parameters:
charset
- the charset to use, for example ASCII- Returns:
- the read string
-
readBytesNullEnd
public byte[] readBytesNullEnd()Reads a byte array from the buffer, looks for a 0 to end the array.- Returns:
- the read array
-
readStringLengthEncoded
Reads length-encoded string.- Parameters:
charset
- the charset to use, for example ASCII- Returns:
- the read string
-
readString
Read String with defined length.- Parameters:
numberOfBytes
- raw data length.- Returns:
- String value
-
readShort
public short readShort()Read a short (2 bytes) from the buffer.- Returns:
- an short
-
read24bitword
public int read24bitword()Read 24 bit integer.- Returns:
- length
-
readInt
public int readInt()Read a int (4 bytes) from the buffer.- Returns:
- a int
-
readLong
public long readLong()Read a long (8 bytes) from the buffer.- Returns:
- a long
-
readByte
public byte readByte()Reads a byte from the buffer.- Returns:
- the byte
-
getByte
public byte getByte()Read current buffer byte without incrementing position.- Returns:
- the byte
-
readRawBytes
public byte[] readRawBytes(int numberOfBytes) Read raw data.- Parameters:
numberOfBytes
- raw data length.- Returns:
- raw data
-
skipByte
public void skipByte() -
skipBytes
public void skipBytes(int bytesToSkip) -
skipLengthEncodedBytes
public void skipLengthEncodedBytes()Skip next length encode binary data. -
getLengthEncodedNumeric
public long getLengthEncodedNumeric()Get next binary data length.- Returns:
- length of next binary data
-
skipLengthEncodedNumeric
public void skipLengthEncodedNumeric()Skip length encoded numeric -
getLengthEncodedBuffer
Get next data bytes from length encoded prefix.- Returns:
- buffer
-
getLengthEncodedBytes
public byte[] getLengthEncodedBytes()Get next data bytes with length encoded prefix.- Returns:
- the raw binary data
-
getByteAt
public byte getByteAt(int position) -
writeStringLength
Write value with length encoded prefix.- Parameters:
value
- value to write
-
writeStringLength
public void writeStringLength(byte[] bytes) Write value with length encoded prefix.- Parameters:
bytes
- value to write
-
writeStringSmallLength
public void writeStringSmallLength(byte[] value) Write value with length encoded prefix. value length MUST be less than 251 char- Parameters:
value
- value to write
-
writeBytes
public void writeBytes(byte header, byte[] bytes) Write bytes.- Parameters:
header
- header bytebytes
- command bytes
-
writeLength
public void writeLength(long length) Write length.- Parameters:
length
- length
-
grow
private void grow()Grow data array.
-