public class TimeTrackingPacketSender extends java.lang.Object implements MessageSender<NativePacketPayload>, PacketSentTimeHolder
MessageSender
which tracks the last time a packet was sent.Constructor and Description |
---|
TimeTrackingPacketSender(MessageSender<NativePacketPayload> packetSender) |
Modifier and Type | Method and Description |
---|---|
long |
getLastPacketSentTime()
Returns the send time of a very recent packet.
|
long |
getPreviousPacketSentTime()
Returns the send time of a previous packet.
|
void |
send(byte[] packet,
int packetLen,
byte packetSequence)
Synchronously send the message to server.
|
MessageSender<NativePacketPayload> |
undecorate()
Return the previous PacketSender instance from the decorators chain or the current PacketSender
if it is the first entry in a chain.
|
MessageSender<NativePacketPayload> |
undecorateAll()
Return a PacketSender instance free of decorators.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
send, send, setMaxAllowedPacket
public TimeTrackingPacketSender(MessageSender<NativePacketPayload> packetSender)
public void send(byte[] packet, int packetLen, byte packetSequence) throws java.io.IOException
MessageSender
send
in interface MessageSender<NativePacketPayload>
packet
- byte array containing a messagepacketLen
- length of the messagepacketSequence
- message sequence index (used in a native protocol)java.io.IOException
- if an error occurspublic long getLastPacketSentTime()
PacketSentTimeHolder
getLastPacketSentTime
in interface PacketSentTimeHolder
public long getPreviousPacketSentTime()
PacketSentTimeHolder
getPreviousPacketSentTime
in interface PacketSentTimeHolder
public MessageSender<NativePacketPayload> undecorateAll()
MessageSender
undecorateAll
in interface MessageSender<NativePacketPayload>
MessageSender
instancepublic MessageSender<NativePacketPayload> undecorate()
MessageSender
undecorate
in interface MessageSender<NativePacketPayload>
MessageSender
instance