From aca006253a93c65bce58aeda78de9280b091717c Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Mon, 13 Jul 2009 02:58:54 +0000
Subject: [PATCH]     * Build Handler: Don't reject for conn limits if class O,
       under the assumption that they are already talking       to most of the
 routers, so there's no reason to reject. This may drive them       to their
 conn. limits, but it's hopefully a temporary solution to the       tunnel
 build congestion. As the net grows this will have to be revisited.

---
 .../java/src/net/i2p/router/tunnel/pool/BuildHandler.java  | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java
index ae17622e85..72b6835eaa 100644
--- a/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java
+++ b/router/java/src/net/i2p/router/tunnel/pool/BuildHandler.java
@@ -508,8 +508,15 @@ class BuildHandler {
          * Being a IBGW or OBEP generally leads to more connections, so if we are
          * approaching our connection limit (i.e. !haveCapacity()),
          * reject this request.
+         *
+         * Don't do this for class O, under the assumption that they are already talking
+         * to most of the routers, so there's no reason to reject. This may drive them
+         * to their conn. limits, but it's hopefully a temporary solution to the
+         * tunnel build congestion. As the net grows this will have to be revisited.
          */
+        RouterInfo ri = _context.router().getRouterInfo();
         if (response == 0 &&
+            (ri == null || ri.getBandwidthTier().charAt(0) != 'O') &&
             ((isInGW && ! _context.commSystem().haveInboundCapacity(87)) ||
              (isOutEnd && ! _context.commSystem().haveOutboundCapacity(87)))) {
                 _context.throttle().setTunnelStatus("Rejecting tunnels: Connection limit");
-- 
GitLab