public class DecompressPacketInputStream extends java.lang.Object implements PacketInputStream
Modifier and Type | Field and Description |
---|---|
private byte[] |
cacheData |
private int |
cacheEnd |
private int |
cachePos |
private int |
compressPacketSeq |
private byte[] |
header |
private java.io.BufferedInputStream |
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 and Description |
---|
DecompressPacketInputStream(java.io.BufferedInputStream in,
int maxQuerySizeToLog) |
Modifier and Type | Method and Description |
---|---|
private void |
cache(byte[] rawBytes,
int length) |
void |
close() |
int |
getCompressLastPacketSeq() |
int |
getLastPacketLength() |
int |
getLastPacketSeq() |
private byte[] |
getNextCachePacket() |
Buffer |
getPacket(boolean reUsable) |
byte[] |
getPacketArray(boolean reUsable)
Get next packet.
|
private void |
readBlocking(byte[] arr,
int offset,
int length) |
private void |
readCompressBlocking(byte[] arr,
int compressedLength,
int decompressedLength) |
void |
setServerThreadId(long serverThreadId,
java.lang.Boolean isMaster)
Set server thread id.
|
void |
setTraceCache(LruTraceCache traceCache) |
private static final int REUSABLE_BUFFER_LENGTH
private static final int MAX_PACKET_SIZE
private static Logger logger
private byte[] header
private byte[] reusableArray
private byte[] cacheData
private int cachePos
private int cacheEnd
private java.io.BufferedInputStream inputStream
private int packetSeq
private int compressPacketSeq
private int maxQuerySizeToLog
private int lastPacketLength
private java.lang.String serverThreadLog
private LruTraceCache traceCache
public DecompressPacketInputStream(java.io.BufferedInputStream in, int maxQuerySizeToLog)
public Buffer getPacket(boolean reUsable) throws java.io.IOException
getPacket
in interface PacketInputStream
java.io.IOException
public byte[] getPacketArray(boolean reUsable) throws java.io.IOException
getPacketArray
in interface PacketInputStream
reUsable
- if can use existing reusable buffer to avoid creating arrayjava.io.IOException
- if socket exception occur.private void readCompressBlocking(byte[] arr, int compressedLength, int decompressedLength) throws java.io.IOException
java.io.IOException
private void readBlocking(byte[] arr, int offset, int length) throws java.io.IOException
java.io.IOException
private void cache(byte[] rawBytes, int length)
private byte[] getNextCachePacket()
public int getLastPacketLength()
getLastPacketLength
in interface PacketInputStream
public int getLastPacketSeq()
getLastPacketSeq
in interface PacketInputStream
public int getCompressLastPacketSeq()
getCompressLastPacketSeq
in interface PacketInputStream
public void close() throws java.io.IOException
close
in interface PacketInputStream
java.io.IOException
public void setServerThreadId(long serverThreadId, java.lang.Boolean isMaster)
setServerThreadId
in interface PacketInputStream
serverThreadId
- current server thread id.isMaster
- is server masterpublic void setTraceCache(LruTraceCache traceCache)
setTraceCache
in interface PacketInputStream