Class StandardPacketInputStream
- java.lang.Object
-
- org.mariadb.jdbc.internal.io.input.StandardPacketInputStream
-
- All Implemented Interfaces:
PacketInputStream
public class StandardPacketInputStream extends java.lang.Object implements PacketInputStream
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
header
private java.io.InputStream
inputStream
private int
lastPacketLength
private static Logger
logger
private static int
MAX_PACKET_SIZE
private int
maxQuerySizeToLog
private int
packetSeq
private static int
REUSABLE_BUFFER_LENGTH
private byte[]
reusableArray
private java.lang.String
serverThreadLog
private LruTraceCache
traceCache
-
Constructor Summary
Constructors Constructor Description StandardPacketInputStream(java.io.InputStream in, Options options)
Constructor of standard socket MySQL packet stream reader.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static byte[]
create(byte[] value)
Constructor for single Data (using text format).static byte[]
create(byte[][] rowDatas, ColumnType[] columnTypes)
Create Buffer with Text protocol values.int
getCompressLastPacketSeq()
java.io.InputStream
getInputStream()
Get current input stream for creating compress input stream, to avoid losing already read bytes in case of pipelining.int
getLastPacketSeq()
Buffer
getPacket(boolean reUsable)
byte[]
getPacketArray(boolean reUsable)
Get next packet.void
setServerThreadId(long serverThreadId, java.lang.Boolean isMaster)
Set server thread id.void
setTraceCache(LruTraceCache traceCache)
-
-
-
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
-
packetSeq
private int packetSeq
-
lastPacketLength
private int lastPacketLength
-
serverThreadLog
private java.lang.String serverThreadLog
-
traceCache
private LruTraceCache traceCache
-
-
Constructor Detail
-
StandardPacketInputStream
public StandardPacketInputStream(java.io.InputStream in, Options options)
Constructor of standard socket MySQL packet stream reader.- Parameters:
in
- streamoptions
- connection options
-
-
Method Detail
-
create
public static byte[] create(byte[] value)
Constructor for single Data (using text format).- Parameters:
value
- value- Returns:
- Buffer
-
create
public static byte[] create(byte[][] rowDatas, ColumnType[] columnTypes)
Create Buffer with Text protocol values.- Parameters:
rowDatas
- datascolumnTypes
- column types- Returns:
- Buffer
-
getPacket
public Buffer getPacket(boolean reUsable) throws java.io.IOException
- Specified by:
getPacket
in interfacePacketInputStream
- Throws:
java.io.IOException
-
getInputStream
public java.io.InputStream getInputStream()
Get current input stream for creating compress input stream, to avoid losing already read bytes in case of pipelining.- Returns:
- input stream.
-
getPacketArray
public byte[] getPacketArray(boolean reUsable) throws java.io.IOException
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:
java.io.IOException
- if socket exception occur.
-
getLastPacketSeq
public int getLastPacketSeq()
- Specified by:
getLastPacketSeq
in interfacePacketInputStream
-
getCompressLastPacketSeq
public int getCompressLastPacketSeq()
- Specified by:
getCompressLastPacketSeq
in interfacePacketInputStream
-
close
public void close() throws java.io.IOException
- Specified by:
close
in interfacePacketInputStream
- Throws:
java.io.IOException
-
setServerThreadId
public void setServerThreadId(long serverThreadId, java.lang.Boolean isMaster)
Set server thread id.- Specified by:
setServerThreadId
in interfacePacketInputStream
- Parameters:
serverThreadId
- current server thread id.isMaster
- is server master
-
setTraceCache
public void setTraceCache(LruTraceCache traceCache)
- Specified by:
setTraceCache
in interfacePacketInputStream
-
-