Class Buffer

java.lang.Object
org.mariadb.jdbc.internal.com.read.Buffer

public class Buffer extends Object
  • 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

      public String readStringNullEnd(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 String readStringLengthEncoded(Charset charset)
      Reads length-encoded string.
      Parameters:
      charset - the charset to use, for example ASCII
      Returns:
      the read string
    • readString

      public 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
    • 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

      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(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 byte
      bytes - command bytes
    • writeLength

      public void writeLength(long length)
      Write length.
      Parameters:
      length - length
    • grow

      private void grow()
      Grow data array.