From 85963a5c72e8d32930af416c7f1b0968a905b04d Mon Sep 17 00:00:00 2001 From: zzz Date: Mon, 25 May 2009 03:22:01 +0000 Subject: [PATCH] more fast peers when more local dests --- .../src/net/i2p/router/peermanager/ProfileOrganizer.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java index 906df2036..d75706a02 100644 --- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java +++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizer.java @@ -76,6 +76,7 @@ public class ProfileOrganizer { */ public static final String PROP_MINIMUM_FAST_PEERS = "profileOrganizer.minFastPeers"; public static final int DEFAULT_MINIMUM_FAST_PEERS = 8; + private static final int DEFAULT_MAXIMUM_FAST_PEERS = 16; /** * Defines the minimum number of 'high capacity' peers that the organizer should * select when using the mean - if less than this many are available, select the @@ -1141,10 +1142,14 @@ public class ProfileOrganizer { * This parameter should help deal with a lack of diversity in the tunnels created when some * peers are particularly fast. * + * Increase default by two for every local destination, up to a max. + * * @return minimum number of peers to be placed in the 'fast' group */ protected int getMinimumFastPeers() { - return _context.getProperty(PROP_MINIMUM_FAST_PEERS, DEFAULT_MINIMUM_FAST_PEERS); + int def = Math.min(DEFAULT_MAXIMUM_FAST_PEERS, + (2 *_context.clientManager().listClients().size()) + DEFAULT_MINIMUM_FAST_PEERS - 2); + return _context.getProperty(PROP_MINIMUM_FAST_PEERS, def); }