Package org.mariadb.jdbc.client.socket
Class PacketReader
- java.lang.Object
-
- org.mariadb.jdbc.client.socket.PacketReader
-
public class PacketReader extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
header
private java.io.InputStream
inputStream
private static Logger
logger
private static int
MAX_PACKET_SIZE
private int
maxQuerySizeToLog
private static int
REUSABLE_BUFFER_LENGTH
private byte[]
reusableArray
private MutableInt
sequence
private java.lang.String
serverThreadLog
-
Constructor Summary
Constructors Constructor Description PacketReader(java.io.InputStream in, Configuration conf, MutableInt sequence)
Constructor of standard socket MySQL packet stream reader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
MutableInt
getSequence()
ReadableByteBuf
readPacket(boolean reUsable)
Get next MySQL packet.ReadableByteBuf
readPacket(boolean reUsable, boolean traceEnable)
Get next MySQL packet.void
setServerThreadId(java.lang.Long serverThreadId, HostAddress hostAddress)
Set server thread id.
-
-
-
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 MutableInt sequence
-
serverThreadLog
private java.lang.String serverThreadLog
-
-
Constructor Detail
-
PacketReader
public PacketReader(java.io.InputStream in, Configuration conf, MutableInt sequence)
Constructor of standard socket MySQL packet stream reader.- Parameters:
in
- streamconf
- connection optionssequence
- current increment sequence
-
-
Method Detail
-
readPacket
public ReadableByteBuf readPacket(boolean reUsable) throws java.io.IOException
Get 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)- Parameters:
reUsable
- if packet can use existing reusable buf to avoid creating array- Returns:
- array packet.
- Throws:
java.io.IOException
- if socket exception occur.
-
readPacket
public ReadableByteBuf readPacket(boolean reUsable, boolean traceEnable) throws java.io.IOException
Get 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)- Parameters:
reUsable
- if packet can use existing reusable buf to avoid creating arraytraceEnable
- must trace packet.- Returns:
- array packet.
- Throws:
java.io.IOException
- if socket exception occur.
-
getSequence
public MutableInt getSequence()
-
close
public void close() throws java.io.IOException
- Throws:
java.io.IOException
-
setServerThreadId
public void setServerThreadId(java.lang.Long serverThreadId, HostAddress hostAddress)
Set server thread id.- Parameters:
serverThreadId
- current server thread id.hostAddress
- host information
-
-