Package com.mysql.cj.protocol.a
Class TimeTrackingPacketReader
java.lang.Object
com.mysql.cj.protocol.a.TimeTrackingPacketReader
- All Implemented Interfaces:
MessageReader<NativePacketHeader,NativePacketPayload>
,PacketReceivedTimeHolder
public class TimeTrackingPacketReader extends java.lang.Object implements MessageReader<NativePacketHeader,NativePacketPayload>, PacketReceivedTimeHolder
A
MessageReader
which tracks the last time a packet was received.-
Constructor Summary
Constructors Constructor Description TimeTrackingPacketReader(MessageReader<NativePacketHeader,NativePacketPayload> messageReader)
-
Method Summary
Modifier and Type Method Description long
getLastPacketReceivedTime()
byte
getMessageSequence()
Get last message sequence number, as it was stored byMessageReader.readHeader()
.NativePacketHeader
readHeader()
Read the next message header from server, possibly blocking indefinitely until the message is received.NativePacketPayload
readMessage(java.util.Optional<NativePacketPayload> reuse, NativePacketHeader header)
Read message from server into to the givenMessage
instance or into the new one if not present.void
resetMessageSequence()
Set stored message sequence number to 0.MessageReader<NativePacketHeader,NativePacketPayload>
undecorate()
Return the previous MessageReader instance from the decorators chain or the current MessageReader if it is the first entry in a chain.MessageReader<NativePacketHeader,NativePacketPayload>
undecorateAll()
Return a MessageReader instance free of decorators.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.mysql.cj.protocol.MessageReader
pushMessageListener, readMessage, start, stopAfterNextMessage
-
Constructor Details
-
TimeTrackingPacketReader
public TimeTrackingPacketReader(MessageReader<NativePacketHeader,NativePacketPayload> messageReader)
-
-
Method Details
-
readHeader
Description copied from interface:MessageReader
Read the next message header from server, possibly blocking indefinitely until the message is received.- Specified by:
readHeader
in interfaceMessageReader<NativePacketHeader,NativePacketPayload>
- Returns:
MessageHeader
of the next message- Throws:
java.io.IOException
- if an error occurs
-
readMessage
public NativePacketPayload readMessage(java.util.Optional<NativePacketPayload> reuse, NativePacketHeader header) throws java.io.IOExceptionDescription copied from interface:MessageReader
Read message from server into to the givenMessage
instance or into the new one if not present. For asynchronous channel it synchronously reads the next message in the stream, blocking until the message is read fully. Could throw CJCommunicationsException wrapping anIOException
during read or parse- Specified by:
readMessage
in interfaceMessageReader<NativePacketHeader,NativePacketPayload>
- Parameters:
reuse
-Message
object to reuse. May be ignored by implementation.header
-MessageHeader
instance- Returns:
Message
instance- Throws:
java.io.IOException
- if an error occurs
-
getLastPacketReceivedTime
public long getLastPacketReceivedTime()- Specified by:
getLastPacketReceivedTime
in interfacePacketReceivedTimeHolder
-
getMessageSequence
public byte getMessageSequence()Description copied from interface:MessageReader
Get last message sequence number, as it was stored byMessageReader.readHeader()
.- Specified by:
getMessageSequence
in interfaceMessageReader<NativePacketHeader,NativePacketPayload>
- Returns:
- number
-
resetMessageSequence
public void resetMessageSequence()Description copied from interface:MessageReader
Set stored message sequence number to 0.- Specified by:
resetMessageSequence
in interfaceMessageReader<NativePacketHeader,NativePacketPayload>
-
undecorateAll
Description copied from interface:MessageReader
Return a MessageReader instance free of decorators.- Specified by:
undecorateAll
in interfaceMessageReader<NativePacketHeader,NativePacketPayload>
- Returns:
MessageReader
-
undecorate
Description copied from interface:MessageReader
Return the previous MessageReader instance from the decorators chain or the current MessageReader if it is the first entry in a chain.- Specified by:
undecorate
in interfaceMessageReader<NativePacketHeader,NativePacketPayload>
- Returns:
MessageReader
-