latest activity timestamp
This commit is contained in:
parent
cb47cde068
commit
58e27265e2
|
@ -52,8 +52,13 @@ public interface IoStream extends WriteStream, Closeable, StreamStatistics {
|
||||||
write(packet.getPacket());
|
write(packet.getPacket());
|
||||||
writeInt(packet.getCrc());
|
writeInt(packet.getCrc());
|
||||||
flush();
|
flush();
|
||||||
|
onActivity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
long latestActivityTime();
|
||||||
|
|
||||||
|
void onActivity();
|
||||||
|
|
||||||
default void sendPacket(byte[] plainPacket) throws IOException {
|
default void sendPacket(byte[] plainPacket) throws IOException {
|
||||||
if (plainPacket.length == 0)
|
if (plainPacket.length == 0)
|
||||||
throw new IllegalArgumentException("Empty packets are not valid.");
|
throw new IllegalArgumentException("Empty packets are not valid.");
|
||||||
|
|
|
@ -10,6 +10,7 @@ public abstract class AbstractIoStream implements IoStream {
|
||||||
|
|
||||||
protected StreamStats streamStats = new StreamStats();
|
protected StreamStats streamStats = new StreamStats();
|
||||||
private final AtomicInteger bytesOut = new AtomicInteger();
|
private final AtomicInteger bytesOut = new AtomicInteger();
|
||||||
|
private long latestActivity;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StreamStats getStreamStats() {
|
public StreamStats getStreamStats() {
|
||||||
|
@ -30,6 +31,15 @@ public abstract class AbstractIoStream implements IoStream {
|
||||||
public void flush() throws IOException {
|
public void flush() throws IOException {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivity() {
|
||||||
|
latestActivity = System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
|
||||||
|
public long latestActivityTime() {
|
||||||
|
return latestActivity;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isClosed() {
|
public boolean isClosed() {
|
||||||
return isClosed;
|
return isClosed;
|
||||||
|
@ -57,6 +67,7 @@ public abstract class AbstractIoStream implements IoStream {
|
||||||
maxPacketGap = (int) Math.max(maxPacketGap, now - previousPacketArrivalTime);
|
maxPacketGap = (int) Math.max(maxPacketGap, now - previousPacketArrivalTime);
|
||||||
}
|
}
|
||||||
previousPacketArrivalTime = now;
|
previousPacketArrivalTime = now;
|
||||||
|
AbstractIoStream.this.onActivity();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onArrived(int length) {
|
public void onArrived(int length) {
|
||||||
|
|
Loading…
Reference in New Issue