From 3bce2f5d4616fddb9da7c5c4ded332a5c150a72c Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Mon, 21 Dec 2015 14:15:40 +0000 Subject: [PATCH] SSU: Fix sent msg count, broken in last checkin Increase sent threshold from 1 to 2 for mayDisconnect(), because we send both our RI and a DeliveryStatusMessage Log tweak --- router/java/src/net/i2p/router/RouterVersion.java | 2 +- .../net/i2p/router/transport/udp/OutboundMessageState.java | 2 ++ router/java/src/net/i2p/router/transport/udp/PeerState.java | 1 - .../java/src/net/i2p/router/transport/udp/UDPTransport.java | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index e1f87e077d..8ab24107c9 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -18,7 +18,7 @@ public class RouterVersion { /** deprecated */ public final static String ID = "Monotone"; public final static String VERSION = CoreVersion.VERSION; - public final static long BUILD = 16; + public final static long BUILD = 17; /** for example "-test" */ public final static String EXTRA = ""; diff --git a/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java b/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java index 4dc2fd7e6b..b700aa80d4 100644 --- a/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java +++ b/router/java/src/net/i2p/router/transport/udp/OutboundMessageState.java @@ -293,6 +293,7 @@ class OutboundMessageState implements CDPQEntry { public String toString() { StringBuilder buf = new StringBuilder(256); buf.append("OB Message ").append(_i2npMessage.getUniqueId()); + buf.append(" type ").append(_i2npMessage.getType()); buf.append(" with ").append(_numFragments).append(" fragments"); buf.append(" of size ").append(_messageBuf.length); buf.append(" volleys: ").append(_maxSends); @@ -304,6 +305,7 @@ class OutboundMessageState implements CDPQEntry { buf.append(i).append(' '); } } + buf.append(" to: ").append(_peer.toString()); return buf.toString(); } } diff --git a/router/java/src/net/i2p/router/transport/udp/PeerState.java b/router/java/src/net/i2p/router/transport/udp/PeerState.java index bec96ec91d..881d178589 100644 --- a/router/java/src/net/i2p/router/transport/udp/PeerState.java +++ b/router/java/src/net/i2p/router/transport/udp/PeerState.java @@ -1180,7 +1180,6 @@ class PeerState { _sendWindowBytesRemaining = _sendWindowBytes; //} - _messagesSent++; if (numSends < 2) { // caller synchs //synchronized (this) { diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index d565eee82e..9eb45b6b76 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -2442,7 +2442,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public void mayDisconnect(final Hash peer) { final PeerState ps = _peersByIdent.get(peer); if (ps != null && ps.isInbound() && - ps.getMessagesReceived() <= 2 && ps.getMessagesSent() <= 1) { + ps.getMessagesReceived() <= 2 && ps.getMessagesSent() <= 2) { ps.setMayDisconnect(); } } @@ -2883,7 +2883,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority if (peer.getWeRelayToThemAs() > 0 || peer.getIntroducerTime() > pingCutoff) { inactivityCutoff = longInactivityCutoff; } else if (!haveCap && peer.getMayDisconnect() && - peer.getMessagesReceived() <= 2 && peer.getMessagesSent() <= 1) { + peer.getMessagesReceived() <= 2 && peer.getMessagesSent() <= 2) { inactivityCutoff = mayDisconCutoff; } else { inactivityCutoff = shortInactivityCutoff; -- GitLab