From 43b4364918eca15f38626fc25b61b602d25d22e5 Mon Sep 17 00:00:00 2001 From: idk Date: Wed, 31 May 2023 14:34:18 +0000 Subject: [PATCH] start implementing congestion caps handling by adding... --- .../i2p/router/peermanager/CapacityCalculator.java | 13 ++++++++++--- .../i2p/router/tunnel/pool/TunnelPeerSelector.java | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java index f4de528c4..d8bf6843c 100644 --- a/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java +++ b/router/java/src/net/i2p/router/peermanager/CapacityCalculator.java @@ -34,6 +34,11 @@ class CapacityCalculator { private static final double PENALTY_NO_R_CAP = 1; private static final double PENALTY_U_CAP = 2; private static final double PENALTY_LAST_SEND_FAIL = 4; + // congestion cap penalty not yet applied + //private static final double PENALTY_D_CAP = 0; + // congestion cap penalty not yet applied + //private static final double PENALTY_E_CAP = 0; + //private static final double PENALTY_G_CAP = 0; private static final double PENALTY_RECENT_SEND_FAIL = 4; private static final double BONUS_LAST_SEND_SUCCESS = 1; private static final double BONUS_RECENT_SEND_SUCCESS = 1; @@ -124,11 +129,13 @@ class CapacityCalculator { capacity -= PENALTY_U_CAP; if (caps.indexOf(Router.CAPABILITY_BW32) >= 0) capacity -= PENALTY_L_CAP; -/* TODO - if (caps.indexOf(Router.CAPABILITY_CONGESTION_MODERATE) >= 0) +/* TODO */ + /*if (caps.indexOf(Router.CAPABILITY_CONGESTION_MODERATE) >= 0) capacity -= PENALTY_D_CAP; else if (caps.indexOf(Router.CAPABILITY_CONGESTION_SEVERE) >= 0) - capacity -= PENALTY_E_CAP; + capacity -= PENALTY_E_CAP;*/ +/* TODO: G caps can be excluded in TunnelPeerSelector by adding it to DEFAULT_EXCLUDE_CAPS + decide what other handling if any is needed here. else if (caps.indexOf(Router.CAPABILITY_NO_TUNNELS) >= 0) capacity -= PENALTY_G_CAP; */ diff --git a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java index 1518d17b9..773de2b77 100644 --- a/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java +++ b/router/java/src/net/i2p/router/tunnel/pool/TunnelPeerSelector.java @@ -42,7 +42,7 @@ import net.i2p.util.VersionComparator; */ public abstract class TunnelPeerSelector extends ConnectChecker { - private static final String DEFAULT_EXCLUDE_CAPS = String.valueOf(Router.CAPABILITY_BW12); + private static final String DEFAULT_EXCLUDE_CAPS = String.valueOf(Router.CAPABILITY_BW12)+String.valueOf(Router.CAPABILITY_CONGESTION_SEVERE); protected TunnelPeerSelector(RouterContext context) { super(context);