From 20a58a24bb647d023172f1bdf1a2e04f0495019c Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Wed, 25 Oct 2017 10:18:18 +0000
Subject: [PATCH] Use correct shared bandwidth measure in TunnelRenderer

---
 .../src/net/i2p/router/web/TunnelRenderer.java    | 15 ++++++++++++++-
 router/java/src/net/i2p/router/RouterVersion.java |  2 +-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java
index 231e3a6489..5e5729ebbc 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/TunnelRenderer.java
@@ -65,7 +65,7 @@ class TunnelRenderer {
 
         List<HopConfig> participating = _context.tunnelDispatcher().listParticipatingTunnels();
         out.write("<h3 class=\"tabletitle\" id=\"participating\">" + _t("Participating tunnels") + "</h3>\n");
-        int bwShare = _context.bandwidthLimiter().getOutboundKBytesPerSecond();
+        int bwShare = getShareBandwidth();
         if (bwShare > 12) {
         // Don't bother re-indenting
         if (!participating.isEmpty()) {
@@ -384,6 +384,19 @@ class TunnelRenderer {
         return _context.commSystem().renderPeerHTML(peer);
     }
 
+    /**
+     * Copied from ConfigNetHelper.
+     * @return in KBytes per second
+     */
+    private int getShareBandwidth() {
+        int irateKBps = _context.bandwidthLimiter().getInboundKBytesPerSecond();
+        int orateKBps = _context.bandwidthLimiter().getOutboundKBytesPerSecond();
+        double pct = _context.router().getSharePercentage();
+        if (irateKBps < 0 || orateKBps < 0)
+            return ConfigNetHelper.DEFAULT_SHARE_KBPS;
+        return (int) (pct * Math.min(irateKBps, orateKBps));
+    }
+
     /** translate a string */
     private String _t(String s) {
         return Messages.getString(s, _context);
diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index c10128fe62..fecba78d69 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 = 6;
+    public final static long BUILD = 7;
 
     /** for example "-test" */
     public final static String EXTRA = "";
-- 
GitLab