diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java index c43651610..3dcb535cb 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java @@ -1202,22 +1202,23 @@ class PeerCoordinator implements PeerListener boolean skipped = false; for(Piece piece : wantedPieces) { if (piece.getId() == savedPiece) { - if (peer.isCompleted() && piece.getPeerCount() > 1) { + if (peer.isCompleted() && piece.getPeerCount() > 1 && + wantedPieces.size() > 2*END_GAME_THRESHOLD) { // Try to preserve rarest-first - // by not requesting a partial piece that non-seeders also have + // by not requesting a partial piece that at least two non-seeders also have // from a seeder - boolean nonSeeds = false; + int nonSeeds = 0; for (Peer pr : peers) { PeerState state = pr.state; if (state == null) continue; BitField bf = state.bitfield; if (bf == null) continue; if (bf.get(savedPiece) && !pr.isCompleted()) { - nonSeeds = true; - break; + if (++nonSeeds > 1) + break; } } - if (nonSeeds) { + if (nonSeeds > 1) { skipped = true; break; } diff --git a/history.txt b/history.txt index a1927b350..dc1b1f86e 100644 --- a/history.txt +++ b/history.txt @@ -1,3 +1,8 @@ +2014-07-19 zzz + * i2psnark: Don't prefer leeches during end game, to + prevent slowdowns or stalls + * Streaming; Disable fail-fast for now. + 2014-07-15 str4d * I2CP: Stubs for I2CP connections over Unix domain sockets diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index ea17ad55f..e1f87e077 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 = 15; + public final static long BUILD = 16; /** for example "-test" */ public final static String EXTRA = "";