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