diff --git a/router/java/src/net/i2p/router/transport/udp/PeerState2.java b/router/java/src/net/i2p/router/transport/udp/PeerState2.java index 7701c22ecece8024c9de4d43c66f646fce5032d7..89a20ceca0088b4242dc304b834e9e05910ad711 100644 --- a/router/java/src/net/i2p/router/transport/udp/PeerState2.java +++ b/router/java/src/net/i2p/router/transport/udp/PeerState2.java @@ -493,6 +493,7 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback _pathChallengeSendCount = 1; _pendingRemoteHostId = from; sendPathChallenge(dpacket.getAddress(), from.getPort()); + setLastSendTime(_migrationStarted); } else { // don't attempt to switch if (_log.shouldWarn()) @@ -525,6 +526,7 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback _migrationNextSendTime = now + (PATH_CHALLENGE_DELAY << _pathChallengeSendCount); _pathChallengeSendCount++; sendPathChallenge(dpacket.getAddress(), from.getPort()); + setLastSendTime(now); } limitSending = true; } else { @@ -835,6 +837,9 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback this); // TODO send to from address? _transport.send(pkt); + long now = _context.clock().now(); + setLastSendTime(now); + setLastReceiveTime(now); } public void gotPathResponse(RemoteHostId from, byte[] data) { @@ -858,6 +863,9 @@ public class PeerState2 extends PeerState implements SSU2Payload.PayloadCallback Collections.singletonList(block), this); _transport.send(pkt); + long now = _context.clock().now(); + setLastSendTime(now); + setLastReceiveTime(now); } else { messagePartiallyReceived(); }