From 22b52033341dbd7bb7d82956879094cf289480a8 Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 11 Sep 2014 13:39:10 +0000 Subject: [PATCH] i2psnark: - Tweak column tooltips - Tweak status sort --- .../org/klomp/snark/web/I2PSnarkServlet.java | 14 ++++----- .../java/src/org/klomp/snark/web/Sorters.java | 31 ++++++++++++++++--- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java index 0d5ae0996..24bcc375e 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -427,7 +427,7 @@ public class I2PSnarkServlet extends BasicServlet { String sort = ("2".equals(currentSort)) ? "-2" : "2"; out.write("\"");\n"); @@ -457,7 +457,7 @@ public class I2PSnarkServlet extends BasicServlet { sort = (currentSort == null || "0".equals(currentSort) || "1".equals(currentSort)) ? "-1" : ""; out.write("\"");\n"); @@ -469,7 +469,7 @@ public class I2PSnarkServlet extends BasicServlet { sort = ("4".equals(currentSort)) ? "-4" : "4"; out.write("\"");\"");\"");\"");\""); + *
  • 0, 1: Name + *
  • 2: Status + *
  • 3: Peers + *
  • 4: ETA + *
  • 5: Size + *
  • 6: Downloaded + *
  • 7: Uploaded + *
  • 8: Down rate + *
  • 9: Up rate + *
  • 10: Remaining (needed) + * + */ public static Comparator getComparator(int type) { boolean rev = type < 0; Comparator rv; @@ -143,7 +159,11 @@ class Sorters { private StatusComparator(boolean rev) { super(rev); } public int compareIt(Snark l, Snark r) { - return getStatus(l) - getStatus(r); + int rv = getStatus(l) - getStatus(r); + if (rv != 0) + return rv; + // use reverse remaining as first tie break + return compLong(r.getNeededLength(), l.getNeededLength()); } private static int getStatus(Snark snark) { @@ -204,14 +224,15 @@ class Sorters { private static long eta(Snark snark) { long needed = snark.getNeededLength(); + if (needed <= 0) + return 0; long total = snark.getTotalLength(); if (needed > total) needed = total; - long remainingSeconds; long downBps = snark.getDownloadRate(); - if (downBps > 0 && needed > 0) + if (downBps > 0) return needed / downBps; - return -1; + return Long.MAX_VALUE; } }