diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java new file mode 100644 index 0000000000000000000000000000000000000000..0e655332460af4bdd19a466d3ddd1d59d4795dc1 --- /dev/null +++ b/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java @@ -0,0 +1,37 @@ +package net.i2p.router.web; + +import java.io.IOException; +import java.io.Writer; + +import net.i2p.router.RouterContext; + +public class PeerHelper { + private RouterContext _context; + private Writer _out; + /** + * Configure this bean to query a particular router context + * + * @param contextId begging few characters of the routerHash, or null to pick + * the first one we come across. + */ + public void setContextId(String contextId) { + try { + _context = ContextHelper.getContext(contextId); + } catch (Throwable t) { + t.printStackTrace(); + } + } + + public PeerHelper() {} + + public void setOut(Writer out) { _out = out; } + + public String getPeerSummary() { + try { + _context.commSystem().renderStatusHTML(_out); + } catch (IOException ioe) { + ioe.printStackTrace(); + } + return ""; + } +} diff --git a/apps/routerconsole/jsp/peers.jsp b/apps/routerconsole/jsp/peers.jsp new file mode 100644 index 0000000000000000000000000000000000000000..85766b76bfec642b118b41cb70a4d561d47463d6 --- /dev/null +++ b/apps/routerconsole/jsp/peers.jsp @@ -0,0 +1,21 @@ +<%@page contentType="text/html"%> +<%@page pageEncoding="UTF-8"%> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> + +<html><head> +<title>I2P Router Console - peer connections</title> +<link rel="stylesheet" href="default.css" type="text/css" /> +</head><body> + +<%@include file="nav.jsp" %> +<%@include file="summary.jsp" %> + +<div class="main" id="main"> + <jsp:useBean class="net.i2p.router.web.PeerHelper" id="peerHelper" scope="request" /> + <jsp:setProperty name="peerHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" /> + <jsp:setProperty name="peerHelper" property="out" value="<%=out%>" /> + <jsp:getProperty name="peerHelper" property="peerSummary" /> +</div> + +</body> +</html> diff --git a/apps/routerconsole/jsp/summary.jsp b/apps/routerconsole/jsp/summary.jsp index eeb0ddda2cf42872f85034cbf2c50a93153e3b45..741717c395db732f8b9b42eaca1006f09092382d 100644 --- a/apps/routerconsole/jsp/summary.jsp +++ b/apps/routerconsole/jsp/summary.jsp @@ -33,7 +33,7 @@ } %><hr /> - <u><b>Peers</b></u><br /> + <u><b><a href="peers.jsp">Peers</a></b></u><br /> <b>Active:</b> <jsp:getProperty name="helper" property="activePeers" />/<jsp:getProperty name="helper" property="activeProfiles" /><br /> <b>Fast:</b> <jsp:getProperty name="helper" property="fastPeers" /><br /> <b>High capacity:</b> <jsp:getProperty name="helper" property="highCapacityPeers" /><br /> diff --git a/history.txt b/history.txt index 0a219297fbfd96c472301cda457afb87b26ad8bf..96a31763f92a6d9bbaf79eedbd7b5444b2629585 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,9 @@ -$Id: history.txt,v 1.201 2005/04/29 01:24:15 jrandom Exp $ +$Id: history.txt,v 1.202 2005/04/30 18:26:19 jrandom Exp $ + +2005-04-30 jrandom + * Added a small new page to the web console (/peers.jsp) which contains + the peer connection information. This will be cleaned up a lot more + before 0.6 is out, but its a start. 2005-04-30 jrandom * Reduced some SimpleTimer churn diff --git a/router/java/src/net/i2p/router/RouterVersion.java b/router/java/src/net/i2p/router/RouterVersion.java index 6d6fde89f3f5d7a4bb8d8e665932dda0c8ec6892..ec294afe040d1cf00df640e391b91ad9c5779bab 100644 --- a/router/java/src/net/i2p/router/RouterVersion.java +++ b/router/java/src/net/i2p/router/RouterVersion.java @@ -15,9 +15,9 @@ import net.i2p.CoreVersion; * */ public class RouterVersion { - public final static String ID = "$Revision: 1.192 $ $Date: 2005/04/29 01:24:15 $"; + public final static String ID = "$Revision: 1.193 $ $Date: 2005/04/30 18:26:19 $"; public final static String VERSION = "0.5.0.7"; - public final static long BUILD = 4; + public final static long BUILD = 5; public static void main(String args[]) { System.out.println("I2P Router version: " + VERSION); System.out.println("Router ID: " + RouterVersion.ID); diff --git a/router/java/src/net/i2p/router/transport/TransportManager.java b/router/java/src/net/i2p/router/transport/TransportManager.java index 76c2080a5025debf6e2f7a19068a30546b13e8c2..aaebcedbb07a08f5023788d981327d0d7656df91 100644 --- a/router/java/src/net/i2p/router/transport/TransportManager.java +++ b/router/java/src/net/i2p/router/transport/TransportManager.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.TreeMap; import net.i2p.data.Hash; import net.i2p.data.RouterAddress; import net.i2p.data.RouterIdentity; @@ -176,8 +177,16 @@ public class TransportManager implements TransportEventListener { } public void renderStatusHTML(Writer out) throws IOException { - StringBuffer buf = new StringBuffer(8*1024); - buf.append("<h2>Transport Manager</h2>\n"); + TreeMap transports = new TreeMap(); + for (int i = 0; i < _transports.size(); i++) { + Transport t = (Transport)_transports.get(i); + transports.put(t.getStyle(), t); + } + for (Iterator iter = transports.values().iterator(); iter.hasNext(); ) { + Transport t= (Transport)iter.next(); + t.renderStatusHTML(out); + } + StringBuffer buf = new StringBuffer(4*1024); buf.append("Listening on: <br /><pre>\n"); for (int i = 0; i < _transports.size(); i++) { Transport t = (Transport)_transports.get(i); @@ -186,14 +195,6 @@ public class TransportManager implements TransportEventListener { } buf.append("</pre>\n"); out.write(buf.toString()); - for (Iterator iter = _transports.iterator(); iter.hasNext(); ) { - Transport t = (Transport)iter.next(); - //String str = t.renderStatusHTML(); - //if (str != null) - // buf.append(str); - t.renderStatusHTML(out); - } - //out.write(buf.toString()); out.flush(); } }