diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java
index 8aa072fcf9..326d2e1101 100644
--- a/router/java/src/net/i2p/router/RouterVersion.java
+++ b/router/java/src/net/i2p/router/RouterVersion.java
@@ -18,9 +18,9 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
- public final static long BUILD = 0;
+ public final static long BUILD = 02;
/** for example "-test" */
- public final static String EXTRA = "";
+ public final static String EXTRA = "-zed";
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
public static void main(String args[]) {
System.out.println("I2P Router version: " + FULL_VERSION);
diff --git a/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java b/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java
index ebb9d61c0c..fecda29d03 100644
--- a/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java
+++ b/router/java/src/net/i2p/router/peermanager/ProfileOrganizerRenderer.java
@@ -218,7 +218,11 @@ class ProfileOrganizerRenderer {
}
buf.append("");
- buf.append("Definitions:");
+ buf.append("Thresholds:
");
+ buf.append("Speed: ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)
");
+ buf.append("Capacity: ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)
");
+ buf.append("Integration: ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)");
+ buf.append("Definitions:
");
buf.append("- groups: as determined by the profile organizer
");
buf.append("- caps: capabilities in the netDb, not used to determine profiles
");
buf.append("- speed: peak throughput (bytes per second) over a 1 minute period that the peer has sustained in a single tunnel
");
@@ -226,10 +230,6 @@ class ProfileOrganizerRenderer {
buf.append("- integration: how many new peers have they told us about lately?
");
buf.append("- failing?: is the peer currently swamped (and if possible we should avoid nagging them)?
");
buf.append("
");
- buf.append("
Thresholds:
");
- buf.append("Speed: ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)
");
- buf.append("Capacity: ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)
");
- buf.append("Integration: ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)
");
out.write(buf.toString());
out.flush();
}
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 4dbb588567..a21ad2790c 100644
--- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
+++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java
@@ -660,20 +660,20 @@ public class NTCPTransport extends TransportImpl {
buf.setLength(0);
for (Iterator iter = peers.iterator(); iter.hasNext(); ) {
NTCPConnection con = (NTCPConnection)iter.next();
- buf.append("
");
+ buf.append(" |
");
buf.append(_context.commSystem().renderPeerHTML(con.getRemotePeer().calculateHash()));
//byte[] ip = getIP(con.getRemotePeer().calculateHash());
//if (ip != null)
// buf.append(' ').append(_context.blocklist().toStr(ip));
- buf.append(" | ");
+ buf.append(" | ");
if (con.isInbound())
buf.append(" ");
else
buf.append(" ");
- buf.append(" | ");
+ buf.append(" | ");
buf.append(con.getTimeSinceReceive()/1000);
buf.append("s/").append(con.getTimeSinceSend()/1000);
- buf.append("s | ");
+ buf.append("s | ");
if (con.getTimeSinceReceive() < 10*1000) {
buf.append(formatRate(con.getRecvRate()/1024));
bpsRecv += con.getRecvRate();
@@ -688,28 +688,28 @@ public class NTCPTransport extends TransportImpl {
buf.append(formatRate(0));
}
buf.append("K/s");
- buf.append(" | ").append(DataHelper.formatDuration(con.getUptime()));
+ buf.append(" | ").append(DataHelper.formatDuration(con.getUptime()));
totalUptime += con.getUptime();
offsetTotal = offsetTotal + con.getClockSkew();
- buf.append(" | ").append(con.getClockSkew());
- buf.append("s | ").append(con.getMessagesSent());
+ buf.append(" | ").append(con.getClockSkew());
+ buf.append("s | ").append(con.getMessagesSent());
totalSend += con.getMessagesSent();
- buf.append(" | ").append(con.getMessagesReceived());
+ buf.append(" | ").append(con.getMessagesReceived());
totalRecv += con.getMessagesReceived();
long outQueue = con.getOutboundQueueSize();
if (outQueue <= 0) {
- buf.append(" | No messages");
+ buf.append(" | No messages");
} else {
- buf.append(" | ").append(outQueue).append(" message");
+ buf.append(" | ").append(outQueue).append(" message");
if (outQueue > 1)
buf.append("s");
}
- buf.append(" | ").append(con.getConsecutiveBacklog() > 0 ? "true" : "false");
+ buf.append(" | ").append(con.getConsecutiveBacklog() > 0 ? "true" : "false");
long readTime = con.getReadTime();
if (readTime <= 0) {
- buf.append(" | No");
+ buf.append(" | No");
} else {
- buf.append(" | For ").append(DataHelper.formatDuration(readTime));
+ buf.append(" | For ").append(DataHelper.formatDuration(readTime));
}
buf.append(" |
\n");
out.write(buf.toString());
@@ -717,13 +717,13 @@ public class NTCPTransport extends TransportImpl {
}
if (peers.size() > 0) {
- buf.append("
|
\n");
- buf.append("").append(peers.size()).append(" peers | | ");
- buf.append(" | ").append(formatRate(bpsRecv/1024)).append("/").append(formatRate(bpsSend/1024)).append("K/s");
- buf.append(" | ").append(DataHelper.formatDuration(totalUptime/peers.size()));
- buf.append(" | ").append(peers.size() > 0 ? DataHelper.formatDuration(offsetTotal*1000/peers.size()) : "0ms");
- buf.append(" | ").append(totalSend).append(" | ").append(totalRecv);
- buf.append(" | | | ");
+// buf.append(" |
|
\n");
+ buf.append("\n");
}
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 d4b4a763be..2d38730ae9 100644
--- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
+++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java
@@ -1771,7 +1771,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
buf.append("Peer");
if (sortFlags != FLAG_ALPHA)
buf.append(" V ");
- buf.append(" | Dir/Intro | Idle ");
+ buf.append(" | Dir | Idle ");
appendSortLinks(buf, urlBase, sortFlags, "Sort by idle inbound", FLAG_IDLE_IN);
buf.append("/");
appendSortLinks(buf, urlBase, sortFlags, "Sort by idle outbound", FLAG_IDLE_OUT);
@@ -1819,12 +1819,12 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
if (now-peer.getLastReceiveTime() > 60*60*1000)
continue; // don't include old peers
- buf.append(" |
---|
");
+ buf.append(" |
");
buf.append(_context.commSystem().renderPeerHTML(peer.getRemotePeer()));
//byte ip[] = peer.getRemoteIP();
//if (ip != null)
// buf.append(' ').append(_context.blocklist().toStr(ip));
- buf.append(" | ");
+ buf.append(" | ");
if (peer.isInbound())
buf.append(" ");
else
@@ -1862,7 +1862,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
if (idleIn < 0) idleIn = 0;
if (idleOut < 0) idleOut = 0;
- buf.append(" | ");
+ buf.append(" | ");
buf.append(idleIn);
buf.append("s/");
buf.append(idleOut);
@@ -1871,7 +1871,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
int recvBps = (idleIn > 2 ? 0 : peer.getReceiveBps());
int sendBps = (idleOut > 2 ? 0 : peer.getSendBps());
- buf.append(" | ");
+ buf.append(" | ");
buf.append(formatKBps(recvBps));
buf.append("/");
buf.append(formatKBps(sendBps));
@@ -1884,18 +1884,18 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
long uptime = now - peer.getKeyEstablishedTime();
- buf.append(" | ");
+ buf.append(" | ");
buf.append(DataHelper.formatDuration(uptime));
buf.append(" | ");
- buf.append("");
+ buf.append(" | ");
buf.append(peer.getClockSkew());
buf.append("s | ");
offsetTotal = offsetTotal + peer.getClockSkew();
long sendWindow = peer.getSendWindowBytes();
- buf.append("");
+ buf.append(" | ");
buf.append(sendWindow/1024);
buf.append("K");
buf.append("/").append(peer.getConcurrentSends());
@@ -1903,26 +1903,26 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
buf.append("/").append(peer.getConsecutiveSendRejections());
buf.append(" | ");
- buf.append("");
+ buf.append(" | ");
buf.append(peer.getSlowStartThreshold()/1024);
buf.append("K | ");
int rtt = peer.getRTT();
int rto = peer.getRTO();
- buf.append("");
+ buf.append(" | ");
buf.append(rtt);
buf.append(" | ");
- buf.append("");
+ buf.append(" | ");
buf.append(peer.getRTTDeviation());
buf.append(" | ");
- buf.append("");
+ buf.append(" | ");
buf.append(rto);
buf.append(" | ");
- buf.append("");
+ buf.append(" | ");
buf.append(peer.getMTU()).append("/").append(peer.getReceiveMTU());
//.append('/');
@@ -1933,11 +1933,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
long sent = peer.getPacketsTransmitted();
long recv = peer.getPacketsReceived();
- buf.append(" | ");
+ buf.append(" | ");
buf.append(sent);
buf.append(" | ");
- buf.append("");
+ buf.append(" | ");
buf.append(recv);
buf.append(" | ");
@@ -1949,14 +1949,14 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
long resent = peer.getPacketsRetransmitted();
long dupRecv = peer.getPacketsReceivedDuplicate();
- buf.append("");
+ buf.append(" | ");
//buf.append(formatPct(sendLostPct));
buf.append(resent); // + "/" + peer.getPacketsPeriodRetransmitted() + "/" + sent);
//buf.append(peer.getPacketRetransmissionRate());
buf.append(" | ");
double recvDupPct = (double)peer.getPacketsReceivedDuplicate()/(double)peer.getPacketsReceived();
- buf.append("");
+ buf.append(" | ");
buf.append(dupRecv); //formatPct(recvDupPct));
buf.append(" | ");
@@ -1980,24 +1980,24 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
numPeers++;
}
- buf.append("
|
\n");
- buf.append(" Total | ");
- buf.append(" ");
+// buf.append("
| \n");
+ buf.append(" \n");
long bytesTransmitted = _context.bandwidthLimiter().getTotalAllocatedOutboundBytes();
// NPE here early
@@ -2026,7 +2026,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
}
}
- private static final String KEY = " Explanation of abbreviated terms used. |