📄 show.java
字号:
if (dm.getState() == 100)
return dm.getErrorDetails();
if (dm.getDisplayName() == null)
return "?";
else
return dm.getDisplayName();
case 122: // 'z'
return DisplayFormatters.formatByteCountToKiBEtc(dm.getSize());
case 101: // 'e'
return DisplayFormatters.formatETA(dm.getStats().getETA());
case 114: // 'r'
long to = 0L;
long tot = 0L;
if (dm.getDiskManager() != null)
{
DiskManagerFileInfo files[] = dm.getDiskManager().getFiles();
if (files != null && files.length > 1)
{
int c = 0;
for (int i = 0; i < files.length; i++)
if (files[i] != null && !files[i].isSkipped())
{
c++;
tot += files[i].getLength();
to += files[i].getDownloaded();
}
if (c == files.length)
tot = 0L;
}
}
DecimalFormat df1 = new DecimalFormat("000.0%");
if (tot > 0L)
return (new StringBuilder()).append(" (").append(df1.format(((double)to * 1.0D) / (double)tot)).append(")").toString();
else
return "\t";
case 100: // 'd'
return DisplayFormatters.formatByteCountToKiBEtcPerSec(dm.getStats().getDataReceiveRate());
case 117: // 'u'
return DisplayFormatters.formatByteCountToKiBEtcPerSec(dm.getStats().getDataSendRate());
case 68: // 'D'
return DisplayFormatters.formatDownloaded(dm.getStats());
case 85: // 'U'
return DisplayFormatters.formatByteCountToKiBEtc(dm.getStats().getTotalDataBytesSent());
case 115: // 's'
return Integer.toString(dm.getNbSeeds());
case 112: // 'p'
return Integer.toString(dm.getNbPeers());
case 118: // 'v'
return Integer.toString(dm.getMaxUploads());
case 73: // 'I'
int downloadSpeed = dm.getStats().getDownloadRateLimitBytesPerSecond();
if (downloadSpeed <= 0)
return "";
else
return (new StringBuilder()).append("(max ").append(DisplayFormatters.formatByteCountToKiBEtcPerSec(downloadSpeed)).append(")").toString();
case 79: // 'O'
int uploadSpeed = dm.getStats().getUploadRateLimitBytesPerSecond();
if (uploadSpeed <= 0)
return "";
else
return (new StringBuilder()).append("(max ").append(DisplayFormatters.formatByteCountToKiBEtcPerSec(uploadSpeed)).append(")").toString();
case 80: // 'P'
case 83: // 'S'
TRTrackerScraperResponse hd = dm.getTrackerScrapeResponse();
if (hd == null || !hd.isValid())
return "?";
if (variable == 'S')
return Integer.toString(hd.getSeeds());
else
return Integer.toString(hd.getPeers());
case 69: // 'E'
case 70: // 'F'
case 71: // 'G'
case 72: // 'H'
case 74: // 'J'
case 75: // 'K'
case 76: // 'L'
case 77: // 'M'
case 78: // 'N'
case 81: // 'Q'
case 82: // 'R'
case 84: // 'T'
case 86: // 'V'
case 87: // 'W'
case 88: // 'X'
case 89: // 'Y'
case 90: // 'Z'
case 91: // '['
case 92: // '\\'
case 93: // ']'
case 94: // '^'
case 95: // '_'
case 96: // '`'
case 98: // 'b'
case 102: // 'f'
case 103: // 'g'
case 104: // 'h'
case 105: // 'i'
case 106: // 'j'
case 107: // 'k'
case 108: // 'l'
case 109: // 'm'
case 110: // 'n'
case 111: // 'o'
case 113: // 'q'
case 119: // 'w'
case 120: // 'x'
case 121: // 'y'
default:
return (new StringBuilder()).append("??").append(variable).append("??").toString();
}
}
protected String getDefaultSummaryFormat()
{
return "[%a] %c\t%t (%z) ETA: %e\r\n%r\tSpeed: %d%I / %u%O\tAmount: %D / %U\tConnections: %s(%S) / %p(%P)";
}
private static String getShortStateString(int dmstate)
{
switch (dmstate)
{
case 5: // '\005'
return "I";
case 20: // '\024'
return "A";
case 30: // '\036'
return "C";
case 50: // '2'
return ">";
case 100: // 'd'
return "E";
case 60: // '<'
return "*";
case 70: // 'F'
return "!";
case 0: // '\0'
return ".";
case 40: // '('
return ":";
case 75: // 'K'
return "-";
}
return "?";
}
private static void printTorrentDetails(PrintStream out, DownloadManager dm, int torrentNum, boolean verbose)
{
String name = dm.getDisplayName();
if (name == null)
name = "?";
out.println("> -----");
out.println((new StringBuilder()).append("Info on Torrent #").append(torrentNum).append(" (").append(name).append(")").toString());
out.println("- General Info -");
String health[] = {
"- no info -", "stopped", "no remote connections", "no tracker", "OK", "ko"
};
try
{
out.println((new StringBuilder()).append("Health: ").append(health[dm.getHealthStatus()]).toString());
}
catch (Exception e)
{
out.println((new StringBuilder()).append("Health: ").append(health[0]).toString());
}
out.println((new StringBuilder()).append("State: ").append(Integer.toString(dm.getState())).toString());
if (dm.getState() == 100)
out.println((new StringBuilder()).append("Error: ").append(dm.getErrorDetails()).toString());
out.println((new StringBuilder()).append("Hash: ").append(TorrentUtils.nicePrintTorrentHash(dm.getTorrent(), true)).toString());
out.println("- Torrent file -");
out.println((new StringBuilder()).append("Torrent Filename: ").append(dm.getTorrentFileName()).toString());
out.println((new StringBuilder()).append("Saving to: ").append(dm.getSaveLocation()).toString());
out.println((new StringBuilder()).append("Created By: ").append(dm.getTorrentCreatedBy()).toString());
out.println((new StringBuilder()).append("Comment: ").append(dm.getTorrentComment()).toString());
out.println("- Tracker Info -");
TRTrackerAnnouncer trackerclient = dm.getTrackerClient();
if (trackerclient != null)
{
out.println((new StringBuilder()).append("URL: ").append(trackerclient.getTrackerUrl()).toString());
String timestr;
try
{
int time = trackerclient.getTimeUntilNextUpdate();
if (time < 0)
{
timestr = MessageText.getString("GeneralView.label.updatein.querying");
} else
{
int minutes = time / 60;
int seconds = time % 60;
String strSeconds = (new StringBuilder()).append("").append(seconds).toString();
if (seconds < 10)
strSeconds = (new StringBuilder()).append("0").append(seconds).toString();
timestr = (new StringBuilder()).append(minutes).append(":").append(strSeconds).toString();
}
}
catch (Exception e)
{
timestr = "unknown";
}
out.println((new StringBuilder()).append("Time till next Update: ").append(timestr).toString());
out.println((new StringBuilder()).append("Status: ").append(trackerclient.getStatusString()).toString());
} else
{
out.println(" Not available");
}
out.println("- Files Info -");
DiskManagerFileInfo files[] = dm.getDiskManagerFileInfo();
if (files != null)
{
for (int i = 0; i < files.length; i++)
{
out.print((new StringBuilder()).append(i >= 9 ? " " : " ").append(Integer.toString(i + 1)).append(" (").toString());
String tmp = ">";
if (files[i].isPriority())
tmp = "+";
if (files[i].isSkipped())
tmp = "!";
out.print((new StringBuilder()).append(tmp).append(") ").toString());
if (files[i] != null)
{
long fLen = files[i].getLength();
if (fLen > 0L)
{
DecimalFormat df = new DecimalFormat("000.0%");
out.print(df.format(((double)files[i].getDownloaded() * 1.0D) / (double)fLen));
out.println((new StringBuilder()).append("\t").append(files[i].getFile(true).getName()).toString());
} else
{
out.println("Info not available.");
}
} else
{
out.println("Info not available.");
}
}
} else
{
out.println(" Info not available.");
}
if (verbose)
{
out.println("Pieces");
PEPeerManager pm = dm.getPeerManager();
if (pm != null)
{
PiecePicker picker = pm.getPiecePicker();
PEPiece pieces[] = pm.getPieces();
String line = "";
for (int i = 0; i < pieces.length; i++)
{
String str = picker.getPieceString(i);
line = (new StringBuilder()).append(line).append(line.length() != 0 ? "," : (new StringBuilder()).append(i).append(" ").toString()).append(str).toString();
PEPiece piece = pieces[i];
if (piece != null)
line = (new StringBuilder()).append(line).append(":").append(piece.getString()).toString();
if ((i + 1) % 10 == 0)
{
out.println(line);
line = "";
}
}
if (line.length() > 0)
out.println(line);
}
}
out.println("> -----");
}
protected void showDHTStats(ConsoleInput ci)
{
PluginInterface dht_pi;
PluginInterface def = ci.azureus_core.getPluginManager().getDefaultPluginInterface();
dht_pi = def.getPluginManager().getPluginInterfaceByClass(com/aelitis/azureus/plugins/dht/DHTPlugin);
if (dht_pi == null)
{
ci.out.println("\tDHT isn't present");
return;
}
DHTPlugin dht_plugin;
dht_plugin = (DHTPlugin)dht_pi.getPlugin();
if (dht_plugin.getStatus() != 3)
{
ci.out.println("\tDHT isn't running yet (disabled or initialising)");
return;
}
try
{
DHT dhts[] = dht_plugin.getDHTs();
for (int i = 0; i < dhts.length; i++)
{
if (i > 0)
ci.out.println("");
DHT dht = dhts[i];
DHTTransport transport = dht.getTransport();
DHTTransportStats t_stats = transport.getStats();
DHTDBStats d_stats = dht.getDataBase().getStats();
DHTControlStats c_stats = dht.getControl().getStats();
DHTRouterStats r_stats = dht.getRouter().getStats();
long rs[] = r_stats.getStats();
com.aelitis.azureus.core.dht.netcoords.DHTNetworkPosition nps[] = transport.getLocalContact().getNetworkPositions();
String np_str = "";
for (int j = 0; j < nps.length; j++)
np_str = (new StringBuilder()).append(np_str).append(j != 0 ? "," : "").append(nps[j]).toString();
ci.out.println((new StringBuilder()).append("DHT:ip=").append(transport.getLocalContact().getAddress()).append(",net=").append(transport.getNetwork()).append(",prot=V").append(transport.getProtocolVersion()).append(",np=").append(np_str).toString());
ci.out.println((new StringBuilder()).append("Router:nodes=").append(rs[0]).append(",leaves=").append(rs[1]).append(",contacts=").append(rs[2]).append(",replacement=").append(rs[3]).append(",live=").append(rs[4]).append(",unknown=").append(rs[5]).append(",failing=").append(rs[6]).toString());
ci.out.println((new StringBuilder()).append("Transport:").append(t_stats.getString()).toString());
int dbv_details[] = d_stats.getValueDetails();
ci.out.println((new StringBuilder()).append("Control:dht=").append(c_stats.getEstimatedDHTSize()).append(", Database:keys=").append(d_stats.getKeyCount()).append(",vals=").append(dbv_details[0]).append(",loc=").append(dbv_details[1]).append(",dir=").append(dbv_details[2]).append(",ind=").append(dbv_details[3]).append(",div_f=").append(dbv_details[4]).append(",div_s=").append(dbv_details[5]).toString());
}
}
catch (Throwable e)
{
e.printStackTrace(ci.out);
}
return;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -