diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java index 8311e6b6ec..0d5a7af3aa 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java +++ b/apps/i2psnark/java/src/org/klomp/snark/PeerCoordinator.java @@ -376,10 +376,10 @@ class PeerCoordinator implements PeerListener */ public boolean needOutboundPeers() { //return wantedBytes != 0 && needPeers(); - // minus one to make it a little easier for new peers to get in on large swarms + // minus two to make it a little easier for new peers to get in on large swarms return wantedBytes != 0 && !halted && - peers.size() < getMaxConnections() - 1 && + peers.size() < getMaxConnections() - 2 && (storage == null || !storage.isChecking()); } diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java index adc2811f22..d6db8e4fc2 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java @@ -154,7 +154,7 @@ public class Storage else pc_size = DEFAULT_PIECE_SIZE; int pcs = (int) ((total - 1)/pc_size) + 1; - while (pcs > MAX_PIECES && pc_size < MAX_PIECE_SIZE) + while (pcs > (MAX_PIECES * 2 / 3) && pc_size < MAX_PIECE_SIZE) { pc_size *= 2; pcs = (int) ((total - 1)/pc_size) +1;