Class StandardPacketInputStream
java.lang.Object
org.mariadb.jdbc.internal.io.input.StandardPacketInputStream
- All Implemented Interfaces:
PacketInputStream
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]
private final InputStream
private int
private static final Logger
private static final int
private final int
private int
private static final int
private final byte[]
private String
private long
private LruTraceCache
-
Constructor Summary
ConstructorsConstructorDescriptionStandardPacketInputStream
(InputStream in, Options options, long threadId) Constructor of standard socket MySQL packet stream reader. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
static byte[]
create
(byte[] value) Constructor for single Data (using text format).static byte[]
create
(byte[][] row, ColumnType[] columnTypes) Create Buffer with Text protocol values.int
Get current input stream for creating compress input stream, to avoid losing already read bytes in case of pipelining.int
getPacket
(boolean reUsable) byte[]
getPacketArray
(boolean reUsable) Get next packet.void
setServerThreadId
(long serverThreadId, Boolean isMaster) Set server thread id.void
setTraceCache
(LruTraceCache traceCache)
-
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 -
packetSeq
private int packetSeq -
lastPacketLength
private int lastPacketLength -
serverThreadLog
-
threadId
private long threadId -
traceCache
-
-
Constructor Details
-
StandardPacketInputStream
Constructor of standard socket MySQL packet stream reader.- Parameters:
in
- streamoptions
- connection optionsthreadId
- thread id
-
-
Method Details
-
create
public static byte[] create(byte[] value) Constructor for single Data (using text format).- Parameters:
value
- value- Returns:
- Buffer
-
create
Create Buffer with Text protocol values.- Parameters:
row
- row datacolumnTypes
- column types- Returns:
- Buffer
-
getPacket
- Specified by:
getPacket
in interfacePacketInputStream
- Throws:
IOException
-
getInputStream
Get current input stream for creating compress input stream, to avoid losing already read bytes in case of pipelining.- Specified by:
getInputStream
in interfacePacketInputStream
- Returns:
- input stream.
-
getPacketArray
Get next packet. If packet is more than 16M, read as many packet needed to finish packet. (first that has not length = 16Mb)- Specified by:
getPacketArray
in interfacePacketInputStream
- Parameters:
reUsable
- if can use existing reusable buffer to avoid creating array- Returns:
- array packet.
- Throws:
IOException
- if socket exception occur.
-
getLastPacketSeq
public int getLastPacketSeq()- Specified by:
getLastPacketSeq
in interfacePacketInputStream
-
getCompressLastPacketSeq
public int getCompressLastPacketSeq()- Specified by:
getCompressLastPacketSeq
in interfacePacketInputStream
-
close
- Specified by:
close
in interfacePacketInputStream
- Throws:
IOException
-
setServerThreadId
Set server thread id.- Specified by:
setServerThreadId
in interfacePacketInputStream
- Parameters:
serverThreadId
- current server thread id.isMaster
- is server master
-
setTraceCache
- Specified by:
setTraceCache
in interfacePacketInputStream
-