diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index 4b5c3ef22..04e2fa9dd 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -8,6 +8,7 @@ import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; import java.text.DecimalFormat; import java.text.NumberFormat; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; @@ -848,20 +849,15 @@ public class NTCPTransport extends TransportImpl { rv = AlphaComparator.instance(); } if (sortFlags < 0) - rv = new InverseComparator(rv); + rv = Collections.reverseOrder(rv); return rv; } + private static class AlphaComparator extends PeerComparator { private static final AlphaComparator _instance = new AlphaComparator(); public static final AlphaComparator instance() { return _instance; } } - private static class InverseComparator implements Comparator { - private Comparator _comp; - public InverseComparator(Comparator comp) { _comp = comp; } - public int compare(Object lhs, Object rhs) { - return -1 * _comp.compare(lhs, rhs); - } - } + private static class PeerComparator implements Comparator { public int compare(Object lhs, Object rhs) { if ( (lhs == null) || (rhs == null) || !(lhs instanceof NTCPConnection) || !(rhs instanceof NTCPConnection)) diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index 1397b9628..f1d1fd9b1 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -6,6 +6,7 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.text.DecimalFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Iterator; @@ -1741,7 +1742,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority break; } if (sortFlags < 0) - rv = new InverseComparator(rv); + rv = Collections.reverseOrder(rv); return rv; } @@ -1778,11 +1779,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final RateInComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getReceiveBps() - r.getReceiveBps(); + int rv = l.getReceiveBps() - r.getReceiveBps(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class RateOutComparator extends PeerComparator { @@ -1790,11 +1791,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final RateOutComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getSendBps() - r.getSendBps(); + int rv = l.getSendBps() - r.getSendBps(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class UptimeComparator extends PeerComparator { @@ -1826,11 +1827,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final CwndComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getSendWindowBytes() - r.getSendWindowBytes(); + int rv = l.getSendWindowBytes() - r.getSendWindowBytes(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class SsthreshComparator extends PeerComparator { @@ -1838,11 +1839,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final SsthreshComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getSlowStartThreshold() - r.getSlowStartThreshold(); + int rv = l.getSlowStartThreshold() - r.getSlowStartThreshold(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class RTTComparator extends PeerComparator { @@ -1850,11 +1851,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final RTTComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getRTT() - r.getRTT(); + int rv = l.getRTT() - r.getRTT(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class DevComparator extends PeerComparator { @@ -1874,11 +1875,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final RTOComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getRTO() - r.getRTO(); + int rv = l.getRTO() - r.getRTO(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class MTUComparator extends PeerComparator { @@ -1886,11 +1887,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority public static final MTUComparator instance() { return _instance; } @Override public int compare(PeerState l, PeerState r) { - long rv = l.getMTU() - r.getMTU(); + int rv = l.getMTU() - r.getMTU(); if (rv == 0) // fallback on alpha return super.compare(l, r); else - return (int)rv; + return rv; } } private static class SendCountComparator extends PeerComparator { @@ -1948,14 +1949,6 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority } } - private static class InverseComparator implements Comparator { - private final Comparator _comp; - public InverseComparator(Comparator comp) { _comp = comp; } - public int compare(Object lhs, Object rhs) { - return -1 * _comp.compare(lhs, rhs); - } - } - private static void appendSortLinks(StringBuilder buf, String urlBase, int sortFlags, String descr, int ascending) { if (ascending == FLAG_ALPHA) { // 0 buf.append("