From b43338bd63a5ba884dbeb33cb0d0f430f2f5a359 Mon Sep 17 00:00:00 2001 From: zzz <zzz@mail.i2p> Date: Thu, 28 May 2009 16:19:55 +0000 Subject: [PATCH] * Transports: - Adjust bids when near conn capacity - peers.jsp HTML fixes --- .../i2p/router/transport/ntcp/NTCPTransport.java | 10 ++++++++-- .../net/i2p/router/transport/udp/UDPTransport.java | 13 +++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index 5a51e9c9bf..75564fb9ef 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -36,6 +36,8 @@ public class NTCPTransport extends TransportImpl { private Log _log; private SharedBid _fastBid; private SharedBid _slowBid; + /** save some conns for inbound */ + private SharedBid _nearCapacityBid; private SharedBid _transientFail; private final Object _conLock; private Map<Hash, NTCPConnection> _conByIdent; @@ -133,6 +135,7 @@ public class NTCPTransport extends TransportImpl { _fastBid = new SharedBid(25); // best _slowBid = new SharedBid(70); // better than ssu unestablished, but not better than ssu established + _nearCapacityBid = new SharedBid(90); // not better than ssu - save our conns for inbound _transientFail = new SharedBid(TransportBid.TRANSIENT_FAIL); } @@ -308,7 +311,10 @@ public class NTCPTransport extends TransportImpl { if (_log.shouldLog(Log.DEBUG)) _log.debug("slow bid when trying to send to " + peer.toBase64()); - return _slowBid; + if (haveCapacity()) + return _slowBid; + else + return _nearCapacityBid; } public boolean allowConnection() { @@ -660,7 +666,7 @@ public class NTCPTransport extends TransportImpl { //byte[] ip = getIP(con.getRemotePeer().calculateHash()); //if (ip != null) // buf.append(' ').append(_context.blocklist().toStr(ip)); - buf.append("</code></td><td align=\"center\"><code>"); + buf.append("</td><td align=\"center\"><code>"); if (con.isInbound()) buf.append("in"); else 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 3871fbdc0a..e1e816d1aa 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -81,6 +81,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority private TransportBid _fastBid; /** shared slow bid for unconnected peers when we want to prefer UDP */ private TransportBid _slowBid; + /** save some conns for inbound */ + private TransportBid _nearCapacityBid; /** shared slow bid for unconnected peers */ private TransportBid _slowestBid; /** shared fast bid for unconnected peers when we want to prefer UDP */ @@ -170,7 +172,8 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority _slowBid = new SharedBid(65); _fastPreferredBid = new SharedBid(15); _slowPreferredBid = new SharedBid(20); - _slowestBid = new SharedBid(1000); + _slowestBid = new SharedBid(80); + _nearCapacityBid = new SharedBid(100); _transientFail = new SharedBid(TransportBid.TRANSIENT_FAIL); _fragments = new OutboundMessageFragments(_context, this, _activeThrottle); @@ -988,8 +991,10 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority return _slowPreferredBid; else if (preferUDP()) return _slowBid; - else + else if (haveCapacity()) return _slowestBid; + else + return _nearCapacityBid; } } @@ -1760,7 +1765,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority buf.append("<tr><td><b><a href=\"#def.peer\">Peer</a></b>"); if (sortFlags != FLAG_ALPHA) buf.append(" <a href=\"").append(urlBase).append("?sort=0\">V</a> "); - buf.append("</td><td>dir/intro</td><td><b><a href=\"#def.idle\">Idle</a></b>"); + buf.append("</td><td><b><a href=\"#def.dir\">Dir/Intro</a></b></td><td><b><a href=\"#def.idle\">Idle</a></b>"); appendSortLinks(buf, urlBase, sortFlags, "Sort by idle inbound", FLAG_IDLE_IN); buf.append("/"); appendSortLinks(buf, urlBase, sortFlags, "Sort by idle outbound", FLAG_IDLE_OUT); @@ -1813,7 +1818,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority //byte ip[] = peer.getRemoteIP(); //if (ip != null) // buf.append(' ').append(_context.blocklist().toStr(ip)); - buf.append("</td><td>"); + buf.append("</td><td><code>"); if (peer.isInbound()) buf.append("in "); else -- GitLab