From 30702e9b236ee578e32c3365aa9abca5a8b448f9 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Thu, 1 Sep 2011 23:59:55 +0000
Subject: [PATCH] sent relay tag cleanup

---
 .../i2p/router/transport/udp/EstablishmentManager.java   | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java
index d5febc514d..8b6a2dc793 100644
--- a/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java
+++ b/router/java/src/net/i2p/router/transport/udp/EstablishmentManager.java
@@ -284,7 +284,8 @@ class EstablishmentManager {
             // Don't offer if we are approaching max connections. While Relay Intros do not
             // count as connections, we have to keep the connection to this peer up longer if
             // we are offering introductions.
-            if ((!_context.router().isHidden()) && (!_transport.introducersRequired()) && _transport.haveCapacity()) {
+            if ((!_context.router().isHidden()) && (!_transport.introducersRequired()) && _transport.haveCapacity() &&
+                !((FloodfillNetworkDatabaseFacade)_context.netDb()).floodfillEnabled()) {
                 // ensure > 0
                 long tag = 1 + _context.random().nextLong(MAX_TAG_VALUE);
                 state.setSentRelayTag(tag);
@@ -595,10 +596,12 @@ class EstablishmentManager {
     
     private void sendCreated(InboundEstablishState state) {
         long now = _context.clock().now();
-        // don't offer if we are approaching max connections (see comments above)
+        // This is usually handled in receiveSessionRequest() above, except, I guess,
+        // if the session isn't new and we are going through again.
+        // Don't offer if we are approaching max connections (see comments above)
         // Also don't offer if we are floodfill, as this extends the max idle time
         // and we will have lots of incoming conns
-        if ((!_transport.introducersRequired()) && _transport.haveCapacity() &&
+        if ((!_context.router().isHidden()) && (!_transport.introducersRequired()) && _transport.haveCapacity() &&
             !((FloodfillNetworkDatabaseFacade)_context.netDb()).floodfillEnabled()) {
             // offer to relay
             // (perhaps we should check our bw usage and/or how many peers we are 
-- 
GitLab