Class PacketReader
- java.lang.Object
-
- org.mariadb.jdbc.client.socket.impl.PacketReader
-
-
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 StandardReadableByteBuf
readBuf
private static int
REUSABLE_BUFFER_LENGTH
private byte[]
reusableArray
private MutableByte
sequence
private java.lang.String
serverThreadLog
-
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 void
close()
Close streamMutableByte
getSequence()
Get current sequence objectReadableByteBuf
readableBufFromArray(byte[] buf)
Get a readable byte array from byte array.byte[]
readPacket(boolean traceEnable)
Get next MySQL packet.ReadableByteBuf
readReusablePacket()
Get next MySQL packet.ReadableByteBuf
readReusablePacket(boolean traceEnable)
Get next MySQL packet.void
setServerThreadId(java.lang.Long serverThreadId, HostAddress hostAddress)
Set server thread id.void
skipPacket()
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:Reader
Get 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:
readableBufFromArray
in interfaceReader
- Parameters:
buf
- byte array to be parsed- Returns:
- array packet.
-
readReusablePacket
public ReadableByteBuf readReusablePacket() throws java.io.IOException
Description copied from interface:Reader
Get 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:
readReusablePacket
in 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:Reader
Get 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:
readReusablePacket
in 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.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)- Specified by:
readPacket
in interfaceReader
- Parameters:
traceEnable
- must trace packet.- Returns:
- array packet.
- Throws:
java.io.IOException
- if socket exception occur.
-
skipPacket
public void skipPacket() throws java.io.IOException
Description copied from interface:Reader
Skip next MySQL packet. Packet is expected to have size < 16M- Specified by:
skipPacket
in interfaceReader
- Throws:
java.io.IOException
- if socket exception occur.
-
getSequence
public MutableByte getSequence()
Description copied from interface:Reader
Get current sequence object- Specified by:
getSequence
in interfaceReader
- Returns:
- current sequence
-
close
public void close() throws java.io.IOException
Description copied from interface:Reader
Close stream
-
setServerThreadId
public void setServerThreadId(java.lang.Long serverThreadId, HostAddress hostAddress)
Set server thread id.- Specified by:
setServerThreadId
in interfaceReader
- Parameters:
serverThreadId
- current server thread id.hostAddress
- host information
-
-