Class PacketReader
- java.lang.Object
-
- org.mariadb.jdbc.client.socket.impl.PacketReader
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]headerprivate java.io.InputStreaminputStreamprivate static Loggerloggerprivate static intMAX_PACKET_SIZEprivate intmaxQuerySizeToLogprivate StandardReadableByteBufreadBufprivate static intREUSABLE_BUFFER_LENGTHprivate byte[]reusableArrayprivate MutableBytesequenceprivate java.lang.StringserverThreadLog
-
Constructor Summary
Constructors Constructor Description PacketReader(java.io.InputStream in, Configuration conf, MutableByte sequence)Constructor of standard socket MySQL packet stream reader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close streamMutableBytegetSequence()Get current sequence objectReadableByteBufreadableBufFromArray(byte[] buf)Get a readable byte array from byte array.byte[]readPacket(boolean traceEnable)Get next MySQL packet.ReadableByteBufreadReusablePacket()Get next MySQL packet.ReadableByteBufreadReusablePacket(boolean traceEnable)Get next MySQL packet.voidsetServerThreadId(java.lang.Long serverThreadId, HostAddress hostAddress)Set server thread id.voidskipPacket()Skip next MySQL packet.
-
-
-
Field Detail
-
REUSABLE_BUFFER_LENGTH
private static final int REUSABLE_BUFFER_LENGTH
- See Also:
- Constant Field Values
-
MAX_PACKET_SIZE
private static final int MAX_PACKET_SIZE
- See Also:
- Constant Field Values
-
logger
private static final Logger logger
-
header
private final byte[] header
-
reusableArray
private final byte[] reusableArray
-
inputStream
private final java.io.InputStream inputStream
-
maxQuerySizeToLog
private final int maxQuerySizeToLog
-
sequence
private final MutableByte sequence
-
readBuf
private final StandardReadableByteBuf readBuf
-
serverThreadLog
private java.lang.String serverThreadLog
-
-
Constructor Detail
-
PacketReader
public PacketReader(java.io.InputStream in, Configuration conf, MutableByte sequence)Constructor of standard socket MySQL packet stream reader.- Parameters:
in- streamconf- connection optionssequence- current increment sequence
-
-
Method Detail
-
readableBufFromArray
public ReadableByteBuf readableBufFromArray(byte[] buf)
Description copied from interface:ReaderGet a readable byte array from byte array. This packet is expected to be read immediately, since no lock is set on this packet.- Specified by:
readableBufFromArrayin interfaceReader- Parameters:
buf- byte array to be parsed- Returns:
- array packet.
-
readReusablePacket
public ReadableByteBuf readReusablePacket() throws java.io.IOException
Description copied from interface:ReaderGet next MySQL packet. Packet is expected to have size < 16M and will use if possible an internal cached buffer. This packet bytes are expect to be read immediately- Specified by:
readReusablePacketin interfaceReader- Returns:
- Readable byte array packet.
- Throws:
java.io.IOException- if socket exception occur.
-
readReusablePacket
public ReadableByteBuf readReusablePacket(boolean traceEnable) throws java.io.IOException
Description copied from interface:ReaderGet next MySQL packet. Packet is expected to have size < 16M and will use if possible an internal cached buffer. This packet bytes are expect to be read immediately- Specified by:
readReusablePacketin interfaceReader- Parameters:
traceEnable- must trace pacjet- Returns:
- Readable byte array packet.
- Throws:
java.io.IOException- if socket exception occur.
-
readPacket
public byte[] readPacket(boolean traceEnable) throws java.io.IOExceptionGet next MySQL packet. If packet is more than 16M, read as many packet needed to finish reading MySQL packet. (first that has not length = 16Mb)- Specified by:
readPacketin interfaceReader- Parameters:
traceEnable- must trace packet.- Returns:
- array packet.
- Throws:
java.io.IOException- if socket exception occur.
-
skipPacket
public void skipPacket() throws java.io.IOExceptionDescription copied from interface:ReaderSkip next MySQL packet. Packet is expected to have size < 16M- Specified by:
skipPacketin interfaceReader- Throws:
java.io.IOException- if socket exception occur.
-
getSequence
public MutableByte getSequence()
Description copied from interface:ReaderGet current sequence object- Specified by:
getSequencein interfaceReader- Returns:
- current sequence
-
close
public void close() throws java.io.IOExceptionDescription copied from interface:ReaderClose stream
-
setServerThreadId
public void setServerThreadId(java.lang.Long serverThreadId, HostAddress hostAddress)Set server thread id.- Specified by:
setServerThreadIdin interfaceReader- Parameters:
serverThreadId- current server thread id.hostAddress- host information
-
-