Class Buffer
- java.lang.Object
-
- org.mariadb.jdbc.internal.com.read.Buffer
-
public class Buffer extends java.lang.Object
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte
getByteAt(int position)
Buffer
getLengthEncodedBuffer()
Get next data bytes from length encoded prefix.byte[]
getLengthEncodedBytes()
Get next data bytes with length encoded prefix.long
getLengthEncodedNumeric()
Get next binary data length.private void
grow()
Grow data array.int
read24bitword()
Read 24 bit integer.byte
readByte()
Reads a byte from the buffer.byte[]
readBytesNullEnd()
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
readShort()
Read a short (2 bytes) from the buffer.java.lang.String
readString(int numberOfBytes)
Read String with defined length.java.lang.String
readStringLengthEncoded(java.nio.charset.Charset charset)
Reads length-encoded string.java.lang.String
readStringNullEnd(java.nio.charset.Charset charset)
Reads a string from the buffer, looks for a 0 to end the string.int
remaining()
void
skipByte()
void
skipBytes(int bytesToSkip)
void
skipLengthEncodedBytes()
Skip next length encode binary data.void
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(java.lang.String value)
Write value with length encoded prefix.void
writeStringSmallLength(byte[] value)
Write value with length encoded prefix.
-
-
-
Method Detail
-
remaining
public int remaining()
-
readStringNullEnd
public java.lang.String readStringNullEnd(java.nio.charset.Charset charset)
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
public java.lang.String readStringLengthEncoded(java.nio.charset.Charset charset)
Reads length-encoded string.- Parameters:
charset
- the charset to use, for example ASCII- Returns:
- the read string
-
readString
public java.lang.String readString(int numberOfBytes)
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
-
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
-
getLengthEncodedBuffer
public Buffer 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
public void writeStringLength(java.lang.String value)
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.
-
-