Class PacketReader
java.lang.Object
org.mariadb.jdbc.client.socket.impl.PacketReader
- All Implemented Interfaces:
Reader
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]private final InputStreamprivate static final Loggerprivate static final intprivate final intprivate final StandardReadableByteBufprivate static final intprivate final byte[]private final MutableByteprivate String -
Constructor Summary
ConstructorsConstructorDescriptionPacketReader(InputStream in, Configuration conf, MutableByte sequence) Constructor of standard socket MySQL packet stream reader. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close streamGet current sequence objectreadableBufFromArray(byte[] buf) Get a readable byte array from byte array.byte[]readPacket(boolean traceEnable) Get next MySQL packet.Get next MySQL packet.readReusablePacket(boolean traceEnable) Get next MySQL packet.voidsetServerThreadId(Long serverThreadId, HostAddress hostAddress) Set server thread id.voidSkip next MySQL packet.
-
Field Details
-
REUSABLE_BUFFER_LENGTH
private static final int REUSABLE_BUFFER_LENGTH- See Also:
-
MAX_PACKET_SIZE
private static final int MAX_PACKET_SIZE- See Also:
-
logger
-
header
private final byte[] header -
reusableArray
private final byte[] reusableArray -
inputStream
-
maxQuerySizeToLog
private final int maxQuerySizeToLog -
sequence
-
readBuf
-
serverThreadLog
-
-
Constructor Details
-
PacketReader
Constructor of standard socket MySQL packet stream reader.- Parameters:
in- streamconf- connection optionssequence- current increment sequence
-
-
Method Details
-
readableBufFromArray
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
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:
IOException- if socket exception occur.
-
readReusablePacket
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:
IOException- if socket exception occur.
-
readPacket
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:
readPacketin interfaceReader- Parameters:
traceEnable- must trace packet.- Returns:
- array packet.
- Throws:
IOException- if socket exception occur.
-
skipPacket
Description copied from interface:ReaderSkip next MySQL packet. Packet is expected to have size < 16M- Specified by:
skipPacketin interfaceReader- Throws:
IOException- if socket exception occur.
-
getSequence
Description copied from interface:ReaderGet current sequence object- Specified by:
getSequencein interfaceReader- Returns:
- current sequence
-
close
Description copied from interface:ReaderClose stream- Specified by:
closein interfaceReader- Throws:
IOException- if any error occurs
-
setServerThreadId
Set server thread id.- Specified by:
setServerThreadIdin interfaceReader- Parameters:
serverThreadId- current server thread id.hostAddress- host information
-