Top Description Fields Constructors Methods
com.mysql.cj.protocol.a

public Class TimeTrackingPacketReader

extends Object
implements MessageReader<NativePacketHeader, NativePacketPayload>, PacketReceivedTimeHolder
Class Inheritance
All Implemented Interfaces
com.mysql.cj.protocol.PacketReceivedTimeHolder, com.mysql.cj.protocol.MessageReader
Imports
java.io.IOException, java.util.Optional, com.mysql.cj.protocol.MessageReader, .PacketReceivedTimeHolder

A MessageReader which tracks the last time a packet was received.

Field Summary

Modifier and TypeField and Description
private long
private MessageReader<NativePacketHeader, NativePacketPayload>

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public long
public byte
getMessageSequence()

Overrides default com.mysql.cj.protocol.MessageReader.getMessageSequence.

Get last message sequence number, as it was stored by readHeader().

public NativePacketHeader
probeHeader()

Overrides default com.mysql.cj.protocol.MessageReader.probeHeader.

Read the next message header from server, possibly blocking indefinitely until the message is received, and cache it so that the next readHeader() return the same header.

public NativePacketPayload
probeMessage(Optional<NativePacketPayload>
Message object to reuse. May be ignored by implementation.
reuse
,
NativePacketHeader
MessageHeader instance
header
)

Overrides default com.mysql.cj.protocol.MessageReader.probeMessage.

Read message from server into to the given Message instance or into the new one if not present and cache it so that the next readMessage(Optional, MessageHeader) return the same message.

public NativePacketHeader
readHeader()

Implements com.mysql.cj.protocol.MessageReader.readHeader.

Read the next message header from server, possibly blocking indefinitely until the message is received.

public NativePacketPayload
readMessage(Optional<NativePacketPayload>
Message object to reuse. May be ignored by implementation.
reuse
,
NativePacketHeader
MessageHeader instance
header
)

Implements com.mysql.cj.protocol.MessageReader.readMessage.

Read message from server into to the given Message instance or into the new one if not present.

public void
resetMessageSequence()

Overrides default com.mysql.cj.protocol.MessageReader.resetMessageSequence.

Set stored message sequence number to 0.

public MessageReader<NativePacketHeader, NativePacketPayload>
undecorate()

Overrides default com.mysql.cj.protocol.MessageReader.undecorate.

Return the previous MessageReader instance from the decorators chain or the current MessageReader if it is the first entry in a chain.

public MessageReader<NativePacketHeader, NativePacketPayload>
undecorateAll()

Overrides default com.mysql.cj.protocol.MessageReader.undecorateAll.

Return a MessageReader instance free of decorators.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

lastPacketReceivedTimeMsback to summary
private long lastPacketReceivedTimeMs
packetReaderback to summary
private MessageReader<NativePacketHeader, NativePacketPayload> packetReader

Constructor Detail

TimeTrackingPacketReaderback to summary
public TimeTrackingPacketReader(MessageReader<NativePacketHeader, NativePacketPayload> messageReader)

Method Detail

getLastPacketReceivedTimeback to summary
public long getLastPacketReceivedTime()

Overrides default com.mysql.cj.protocol.PacketReceivedTimeHolder.getLastPacketReceivedTime.

Annotations
@Override
getMessageSequenceback to summary
public byte getMessageSequence()

Overrides default com.mysql.cj.protocol.MessageReader.getMessageSequence.

Doc from com.mysql.cj.protocol.MessageReader.getMessageSequence.

Get last message sequence number, as it was stored by readHeader().

Returns:byte

number

Annotations
@Override
probeHeaderback to summary
public NativePacketHeader probeHeader() throws IOException

Overrides default com.mysql.cj.protocol.MessageReader.probeHeader.

Doc from com.mysql.cj.protocol.MessageReader.probeHeader.

Read the next message header from server, possibly blocking indefinitely until the message is received, and cache it so that the next readHeader() return the same header.

Returns:NativePacketHeader

MessageHeader of the next message

Annotations
@Override
Exceptions
IOException:
if an error occurs
probeMessageback to summary
public NativePacketPayload probeMessage(Optional<NativePacketPayload> reuse, NativePacketHeader header) throws IOException

Overrides default com.mysql.cj.protocol.MessageReader.probeMessage.

Doc from com.mysql.cj.protocol.MessageReader.probeMessage.

Read message from server into to the given Message instance or into the new one if not present and cache it so that the next readMessage(Optional, MessageHeader) return the same message. For asynchronous channel it synchronously reads the next message in the stream, blocking until the message is read fully. Could throw CJCommunicationsException wrapping an IOException during read or parse

Parameters
reuse:Optional<NativePacketPayload>

Message object to reuse. May be ignored by implementation.

header:NativePacketHeader

MessageHeader instance

Returns:NativePacketPayload

Message instance

Annotations
@Override
Exceptions
IOException:
if an error occurs
readHeaderback to summary
public NativePacketHeader readHeader() throws IOException

Implements com.mysql.cj.protocol.MessageReader.readHeader.

Doc from com.mysql.cj.protocol.MessageReader.readHeader.

Read the next message header from server, possibly blocking indefinitely until the message is received.

Returns:NativePacketHeader

MessageHeader of the next message

Annotations
@Override
Exceptions
IOException:
if an error occurs
readMessageback to summary
public NativePacketPayload readMessage(Optional<NativePacketPayload> reuse, NativePacketHeader header) throws IOException

Implements com.mysql.cj.protocol.MessageReader.readMessage.

Doc from com.mysql.cj.protocol.MessageReader.readMessage.

Read message from server into to the given Message 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 an IOException during read or parse

Parameters
reuse:Optional<NativePacketPayload>

Message object to reuse. May be ignored by implementation.

header:NativePacketHeader

MessageHeader instance

Returns:NativePacketPayload

Message instance

Annotations
@Override
Exceptions
IOException:
if an error occurs
resetMessageSequenceback to summary
public void resetMessageSequence()

Overrides default com.mysql.cj.protocol.MessageReader.resetMessageSequence.

Doc from com.mysql.cj.protocol.MessageReader.resetMessageSequence.

Set stored message sequence number to 0.

Annotations
@Override
undecorateback to summary
public MessageReader<NativePacketHeader, NativePacketPayload> undecorate()

Overrides default com.mysql.cj.protocol.MessageReader.undecorate.

Doc from com.mysql.cj.protocol.MessageReader.undecorate.

Return the previous MessageReader instance from the decorators chain or the current MessageReader if it is the first entry in a chain.

Returns:MessageReader<NativePacketHeader, NativePacketPayload>

MessageReader

Annotations
@Override
undecorateAllback to summary
public MessageReader<NativePacketHeader, NativePacketPayload> undecorateAll()

Overrides default com.mysql.cj.protocol.MessageReader.undecorateAll.

Doc from com.mysql.cj.protocol.MessageReader.undecorateAll.

Return a MessageReader instance free of decorators.

Returns:MessageReader<NativePacketHeader, NativePacketPayload>

MessageReader

Annotations
@Override