From 0b9e4967a04cbd3197cecf8ef6114590819aebd9 Mon Sep 17 00:00:00 2001 From: ragnarok <ragnarok> Date: Thu, 20 Oct 2005 22:31:28 +0000 Subject: [PATCH] The rarest-first sort is stable, so randomize the wantedPieces list to ensure a healthy swarm when you have mostly seeders. --- apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java | 1 + apps/i2psnark/java/src/org/klomp/snark/Piece.java | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java index ce4a0658ac..e1785034cd 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java @@ -75,6 +75,7 @@ public class PeerCoordinator implements PeerListener for(int i = 0; i < metainfo.getPieces(); i++) if (!bitfield.get(i)) wantedPieces.add(new Piece(i)); + Collections.shuffle(wantedPieces); // Install a timer to check the uploaders. timer.schedule(new PeerCheckerTask(this), CHECK_PERIOD, CHECK_PERIOD); diff --git a/apps/i2psnark/java/src/org/klomp/snark/Piece.java b/apps/i2psnark/java/src/org/klomp/snark/Piece.java index d98421b992..817bdce83f 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Piece.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Piece.java @@ -12,6 +12,7 @@ public class Piece implements Comparable { public Piece(int id) { this.id = id; this.peers = new HashSet(); + this.requested = false; } public int compareTo(Object o) throws ClassCastException { -- GitLab