forked from I2P_Developers/i2p.i2p
* ProfileOrganizer:
- Fix rare NSEE thx sponge
This commit is contained in:
@@ -894,7 +894,7 @@ public class ProfileOrganizer {
|
||||
Set<PeerProfile> sorted = new TreeSet(new SpeedComparator());
|
||||
sorted.addAll(_fastPeers.values());
|
||||
Iterator<PeerProfile> iter = sorted.iterator();
|
||||
for (int i = 0; i < numToDemote; i++) {
|
||||
for (int i = 0; i < numToDemote && iter.hasNext(); i++) {
|
||||
_fastPeers.remove(iter.next().getPeer());
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,8 @@ package net.i2p.router.peermanager;
|
||||
|
||||
import java.util.Comparator;
|
||||
|
||||
import net.i2p.data.DataHelper;
|
||||
|
||||
/**
|
||||
* Order profiles by their speed (lowest first).
|
||||
* @since 0.7.10
|
||||
@@ -17,6 +19,14 @@ class SpeedComparator implements Comparator<PeerProfile> {
|
||||
return 1;
|
||||
if (lval < rval)
|
||||
return -1;
|
||||
return 0;
|
||||
|
||||
// we don't wan't to return 0 so profiles don't vanish in the TreeSet
|
||||
lval = left.getCapacityValue();
|
||||
rval = right.getCapacityValue();
|
||||
if (lval > rval)
|
||||
return 1;
|
||||
if (lval < rval)
|
||||
return -1;
|
||||
return DataHelper.compareTo(right.getPeer().getData(), left.getPeer().getData());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user