i2psnark, i2ptunnel: Use Long.compare() in sorters

available in Java 7 / Android API 19 (our minSDK is currently 20)
This commit is contained in:
zzz
2025-04-20 09:29:06 -04:00
parent 51dbd493fe
commit 5cfa74d785
2 changed files with 28 additions and 44 deletions

View File

@ -181,14 +181,6 @@ class Sorters {
} }
protected abstract int compareIt(Snark l, Snark r); protected abstract int compareIt(Snark l, Snark r);
protected static int compLong(long l, long r) {
if (l < r)
return -1;
if (l > r)
return 1;
return 0;
}
} }
@ -201,7 +193,7 @@ class Sorters {
if (rv != 0) if (rv != 0)
return rv; return rv;
// use reverse remaining as first tie break // use reverse remaining as first tie break
rv = compLong(r.getNeededLength(), l.getNeededLength()); rv = Long.compare(r.getNeededLength(), l.getNeededLength());
if (rv != 0) if (rv != 0)
return rv; return rv;
// use reverse peer count as second tie break // use reverse peer count as second tie break
@ -251,7 +243,7 @@ class Sorters {
public RemainingComparator(boolean rev, String lang) { super(rev, lang); } public RemainingComparator(boolean rev, String lang) { super(rev, lang); }
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
return compLong(l.getNeededLength(), r.getNeededLength()); return Long.compare(l.getNeededLength(), r.getNeededLength());
} }
} }
@ -260,7 +252,7 @@ class Sorters {
public ETAComparator(boolean rev, String lang) { super(rev, lang); } public ETAComparator(boolean rev, String lang) { super(rev, lang); }
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
return compLong(eta(l), eta(r)); return Long.compare(eta(l), eta(r));
} }
private static long eta(Snark snark) { private static long eta(Snark snark) {
@ -282,7 +274,7 @@ class Sorters {
public SizeComparator(boolean rev, String lang) { super(rev, lang); } public SizeComparator(boolean rev, String lang) { super(rev, lang); }
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
return compLong(l.getTotalLength(), r.getTotalLength()); return Long.compare(l.getTotalLength(), r.getTotalLength());
} }
} }
@ -293,7 +285,7 @@ class Sorters {
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
long ld = l.getTotalLength() - l.getRemainingLength(); long ld = l.getTotalLength() - l.getRemainingLength();
long rd = r.getTotalLength() - r.getRemainingLength(); long rd = r.getTotalLength() - r.getRemainingLength();
return compLong(ld, rd); return Long.compare(ld, rd);
} }
} }
@ -302,7 +294,7 @@ class Sorters {
public UploadedComparator(boolean rev, String lang) { super(rev, lang); } public UploadedComparator(boolean rev, String lang) { super(rev, lang); }
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
return compLong(l.getUploaded(), r.getUploaded()); return Long.compare(l.getUploaded(), r.getUploaded());
} }
} }
@ -311,7 +303,7 @@ class Sorters {
public DownRateComparator(boolean rev, String lang) { super(rev, lang); } public DownRateComparator(boolean rev, String lang) { super(rev, lang); }
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
return compLong(l.getDownloadRate(), r.getDownloadRate()); return Long.compare(l.getDownloadRate(), r.getDownloadRate());
} }
} }
@ -320,7 +312,7 @@ class Sorters {
public UpRateComparator(boolean rev, String lang) { super(rev, lang); } public UpRateComparator(boolean rev, String lang) { super(rev, lang); }
public int compareIt(Snark l, Snark r) { public int compareIt(Snark l, Snark r) {
return compLong(l.getUploadRate(), r.getUploadRate()); return Long.compare(l.getUploadRate(), r.getUploadRate());
} }
} }
@ -506,14 +498,6 @@ class Sorters {
} }
protected abstract int compareIt(FileAndIndex l, FileAndIndex r); protected abstract int compareIt(FileAndIndex l, FileAndIndex r);
protected static int compLong(long l, long r) {
if (l < r)
return -1;
if (l > r)
return 1;
return 0;
}
} }
private static class FAIRemainingComparator extends FAISort { private static class FAIRemainingComparator extends FAISort {
@ -521,7 +505,7 @@ class Sorters {
public FAIRemainingComparator(boolean rev) { super(rev); } public FAIRemainingComparator(boolean rev) { super(rev); }
public int compareIt(FileAndIndex l, FileAndIndex r) { public int compareIt(FileAndIndex l, FileAndIndex r) {
return compLong(l.remaining, r.remaining); return Long.compare(l.remaining, r.remaining);
} }
} }
@ -530,7 +514,7 @@ class Sorters {
public FAISizeComparator(boolean rev) { super(rev); } public FAISizeComparator(boolean rev) { super(rev); }
public int compareIt(FileAndIndex l, FileAndIndex r) { public int compareIt(FileAndIndex l, FileAndIndex r) {
return compLong(l.length, r.length); return Long.compare(l.length, r.length);
} }
} }

View File

@ -101,22 +101,22 @@ class UDPSorters {
static class IdleInComparator extends PeerComparator { static class IdleInComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = r.getLastReceiveTime() - l.getLastReceiveTime(); int rv = Long.compare(r.getLastReceiveTime(), l.getLastReceiveTime());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
static class IdleOutComparator extends PeerComparator { static class IdleOutComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = r.getLastSendTime() - l.getLastSendTime(); int rv = Long.compare(r.getLastSendTime(), l.getLastSendTime());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
@ -149,22 +149,22 @@ class UDPSorters {
static class UptimeComparator extends PeerComparator { static class UptimeComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = r.getKeyEstablishedTime() - l.getKeyEstablishedTime(); int rv = Long.compare(r.getKeyEstablishedTime(), l.getKeyEstablishedTime());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
static class SkewComparator extends PeerComparator { static class SkewComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = l.getClockSkew() - r.getClockSkew(); int rv = Long.compare(l.getClockSkew(), r.getClockSkew());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
@ -207,11 +207,11 @@ class UDPSorters {
public static final DevComparator instance() { return _instance; } public static final DevComparator instance() { return _instance; }
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = l.getRTTDeviation() - r.getRTTDeviation(); int rv = Long.compare(l.getRTTDeviation(), r.getRTTDeviation());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
****/ ****/
@ -244,44 +244,44 @@ class UDPSorters {
static class SendCountComparator extends PeerComparator { static class SendCountComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = l.getMessagesSent() - r.getMessagesSent(); int rv = Long.compare(l.getMessagesSent(), r.getMessagesSent());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
static class RecvCountComparator extends PeerComparator { static class RecvCountComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = l.getMessagesReceived() - r.getMessagesReceived(); int rv = Long.compare(l.getMessagesReceived(), r.getMessagesReceived());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
static class ResendComparator extends PeerComparator { static class ResendComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = l.getPacketsRetransmitted() - r.getPacketsRetransmitted(); int rv = Long.compare(l.getPacketsRetransmitted(), r.getPacketsRetransmitted());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }
static class DupComparator extends PeerComparator { static class DupComparator extends PeerComparator {
@Override @Override
public int compare(PeerState l, PeerState r) { public int compare(PeerState l, PeerState r) {
long rv = l.getPacketsReceivedDuplicate() - r.getPacketsReceivedDuplicate(); int rv = Long.compare(l.getPacketsReceivedDuplicate(), r.getPacketsReceivedDuplicate());
if (rv == 0) // fallback on alpha if (rv == 0) // fallback on alpha
return super.compare(l, r); return super.compare(l, r);
else else
return (int)rv; return rv;
} }
} }