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[]headerprivate java.io.InputStreaminputStreamprivate intlastPacketLengthprivate static Loggerloggerprivate static intMAX_PACKET_SIZEprivate intmaxQuerySizeToLogprivate intpacketSeqprivate static intREUSABLE_BUFFER_LENGTHprivate byte[]reusableArrayprivate java.lang.StringserverThreadLogprivate longthreadIdprivate LruTraceCachetraceCache
-
Constructor Summary
Constructors Constructor Description StandardPacketInputStream(java.io.InputStream in, Options options, long threadId)Constructor of standard socket MySQL packet stream reader.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()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.intgetCompressLastPacketSeq()java.io.InputStreamgetInputStream()Get current input stream for creating compress input stream, to avoid losing already read bytes in case of pipelining.intgetLastPacketSeq()BuffergetPacket(boolean reUsable)byte[]getPacketArray(boolean reUsable)Get next packet.voidsetServerThreadId(long serverThreadId, java.lang.Boolean isMaster)Set server thread id.voidsetTraceCache(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
-
threadId
private long threadId
-
traceCache
private LruTraceCache traceCache
-
-
Constructor Detail
-
StandardPacketInputStream
public StandardPacketInputStream(java.io.InputStream in, Options options, long threadId)Constructor of standard socket MySQL packet stream reader.- Parameters:
in- streamoptions- connection optionsthreadId- thread id
-
-
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[][] row, ColumnType[] columnTypes)Create Buffer with Text protocol values.- Parameters:
row- row datacolumnTypes- column types- Returns:
- Buffer
-
getPacket
public Buffer getPacket(boolean reUsable) throws java.io.IOException
- Specified by:
getPacketin 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.- Specified by:
getInputStreamin interfacePacketInputStream- Returns:
- input stream.
-
getPacketArray
public byte[] getPacketArray(boolean reUsable) throws java.io.IOExceptionGet next packet. If packet is more than 16M, read as many packet needed to finish packet. (first that has not length = 16Mb)- Specified by:
getPacketArrayin 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:
getLastPacketSeqin interfacePacketInputStream
-
getCompressLastPacketSeq
public int getCompressLastPacketSeq()
- Specified by:
getCompressLastPacketSeqin interfacePacketInputStream
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacePacketInputStream- Throws:
java.io.IOException
-
setServerThreadId
public void setServerThreadId(long serverThreadId, java.lang.Boolean isMaster)Set server thread id.- Specified by:
setServerThreadIdin interfacePacketInputStream- Parameters:
serverThreadId- current server thread id.isMaster- is server master
-
setTraceCache
public void setTraceCache(LruTraceCache traceCache)
- Specified by:
setTraceCachein interfacePacketInputStream
-
-