Update of /cvsroot/freenet/freenet/src/freenet
In directory sc8-pr-cvs1:/tmp/cvs-serv2453/src/freenet
Modified Files:
ConnectionHandlerComparator.java OpenConnectionManager.java
Log Message:
Moved the OCM local port value to its own column
Enabled rev. 0.2 or so of OCM HTML Peerhandler mode
Preliminary obsoletion the 'text only' OCM mode (might be returned to existence if you
miss it too much, or even better make a suggestion of how to make the graphical mode
able to do what you want)
Index: ConnectionHandlerComparator.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/ConnectionHandlerComparator.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -w -r1.10 -r1.11
--- ConnectionHandlerComparator.java 15 Oct 2003 09:48:50 -0000 1.10
+++ ConnectionHandlerComparator.java 20 Oct 2003 10:41:59 -0000 1.11
@@ -28,6 +28,7 @@
public static final int COMBINED_DATA_TRANSFERED = 16;
public static final int PEER_NODE_VERSION = 17;
public static final int PEER_ARK_REVISION = 18;
+ public static final int LOCAL_PORT = 19;
@@ -124,6 +125,8 @@
Long l2=(n2==null?new Long(-1):new
Long(n2.revision()));
return
secondaryCompare(iSign,l1.compareTo(l2),ch1,ch2);
}
+ case LOCAL_PORT:
+ return secondaryCompare(iSign,new
Long(ch1.getLocalPort()).compareTo(new Long(ch2.getLocalPort())),ch1,ch2);
default:
return 0;
}
Index: OpenConnectionManager.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/OpenConnectionManager.java,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -w -r1.132 -r1.133
--- OpenConnectionManager.java 20 Oct 2003 08:50:37 -0000 1.132
+++ OpenConnectionManager.java 20 Oct 2003 10:41:59 -0000 1.133
@@ -65,7 +65,7 @@
private boolean logDEBUG = true;
private final boolean doHardConnectionLimit = true; // set true to enable
special debugging for the Curus Bug (simultaneous connect attempts to the same node)!.
FIXME: set false before release
- private boolean peerHandlerHTMLMode = false; //If true then we will render the
OCM HTML page in PeerHandler mode, else in Connectionsmode
+ private boolean peerHandlerHTMLMode = true; //If true then we will render the OCM
HTML page in PeerHandler mode, else in Connectionsmode
private int iPeerHandlerSortingMode = 0; //The sorting mode to be used when in
peerHandlermode
private NumberFormat nf = NumberFormat.getInstance();
private ConnectionsHTMLRenderer connectionsHTMLRenderer = new
ConnectionsHTMLRenderer();
@@ -789,8 +789,11 @@
[EMAIL PROTECTED] &setLevel= In "new" mode, choose one of three detail
levels.
*/
public void writeHtmlContents(PrintWriter pw,HttpServletRequest req) {
-
-
+ if(req.getParameter("setMode") != null) //Check for modeswitch
+ if(req.getParameter("setMode").compareTo("Peer") ==0)
+ peerHandlerHTMLMode = true;
+ else
+ peerHandlerHTMLMode = false;
if(peerHandlerHTMLMode)
peerHTMLRenderer.render(pw,req);
else
@@ -1312,14 +1315,9 @@
private abstract class HTMLRenderer{
protected int iSortingMode = 0; //The sorting mode to use when in
ConnectionsMode
- protected boolean useOldStyle = false; //Keep track of what HTML mode
the user last requested
+ protected boolean useOldStyle = false; //Keep track of what HTML mode
the user last requested. Obsoleted
protected int viewLevel = 0;
public final void render(PrintWriter pw, HttpServletRequest req) {
- if(req.getParameter("setMode") != null) //Check for modeswitch
- if(req.getParameter("setMode").compareTo("old") ==0)
- useOldStyle = true;
- else
- useOldStyle = false;
if(req.getParameter("setLevel")!= null)
try{
@@ -1331,9 +1329,18 @@
//TODO: catch casting errors
} catch (NumberFormatException e) { /* iSorting=0; */}
}
- doRender(pw,req);
+ renderOverview(pw,req);
+ doRenderBody(pw,req);
+ }
+ protected abstract void doRenderBody(PrintWriter pw,
HttpServletRequest req);
+ protected void renderLeftHeader(PrintWriter pw, HttpServletRequest req)
+ {
+ renderConnectionsSummary(pw, req);
+ }
+ protected void renderRightHeader(PrintWriter pw, HttpServletRequest
req)
+ {
+ pw.println(renderConnectionIconLegend());
}
- protected abstract void doRender(PrintWriter pw, HttpServletRequest
req);
protected String timeFromMillis(long millis,boolean bMinutes,boolean
bSeconds)
{
String sRetval=null;
@@ -1376,8 +1383,6 @@
protected String renderConnectionIconLegend(){
StringBuffer retval = new StringBuffer(500);
retval.append("<table>");
- //pw.println("<tr><td colspan = 4 align = 'center'><b>Icon
- // legend</b></td></tr>");
retval.append("<tr><td colspan =
2><b>Outbound connections legend</b></td>" + "<td colspan =
2><b>Inbound connections legend</b></td></tr>");
retval.append("<tr><td><img
SRC='/servlet/images/aqua/arrow_outbound_sleeping.png'></td><td>Idle</td>");
retval.append("<td><img
SRC='/servlet/images/aqua/arrow_inbound_sleeping.png'></td><td>Idle</td></tr>");
@@ -1390,7 +1395,9 @@
retval.append("</table>");
return retval.toString();
}
- protected void renderOCMOverview(PrintWriter pw, HttpServletRequest
req, List lConnections) {
+ protected void renderConnectionsSummary(PrintWriter pw,
HttpServletRequest req)
+ {
+ List lConnections = getConnectionListSnapshot();
int outboundConnectionsCount = 0;
int outboundNotInRoutingtable=0;
int inboundConnectionsCount = 0;
@@ -1419,85 +1426,61 @@
totalDataSent += ch.totalDataSent();
totalDataReceived += ch.totalDataReceived();
NodeReference n =
Main.node.rt.getNodeReference(ch.peerIdentity());
- NodeReference nPrev =
(chPrev == null)
- ? null
- :
Main.node.rt.getNodeReference(chPrev.peerIdentity());
+ NodeReference nPrev = (chPrev == null) ? null :
Main.node.rt.getNodeReference(chPrev.peerIdentity());
String s;
if (n == null) {
-
if(ch.outbound) outboundNotInRoutingtable++;
+ if (ch.outbound)
+ outboundNotInRoutingtable++;
}
if(!uniquePeers.contains(ch.peerIdentity().toString()))
uniquePeers.add(ch.peerIdentity().toString());
chPrev = ch;
}
- renderTitle(pw,req);
+ pw.println("<table border=0 cellspacing = 1>\n");
if(useOldStyle) {
- pw.println("<br>Number of open connections: "
+ lru.size());
- pw.println("<br>Number of outbound
connections: " + outboundConnectionsCount);
- pw.println("<br>Number of inbound connections:
" + inboundConnectionsCount);
- pw.println("<br>Number of connections sending
messages: "+sendingConnectionsCount);
- pw.println("<br>Number of connections
receiving messages: "+receivingConnectionsCount);
- pw.println("<br>Bytes waiting to be sent: " +
sendQueueSize);
- pw.println("<br>Outbound connections that are
to peers not in the routingtable: " +
- 100*(new
Float(outboundNotInRoutingtable).floatValue() /
- new
Float(outboundConnectionsCount).floatValue()) +
- "%");
+ pw.println("<tr><td>Number of open connections: " +
lru.size()+"</TD></TR>");
+ pw.println("<tr><td>Number of outbound connections: "
+ outboundConnectionsCount+"</TD></TR>");
+ pw.println("<tr><td>Number of inbound connections: " +
inboundConnectionsCount+"</TD></TR>");
+ pw.println("<tr><td>Number of connections sending
messages: " + sendingConnectionsCount+"</TD></TR>");
+ pw.println("<tr><td>Number of connections receiving
messages: " + receivingConnectionsCount+"</TD></TR>");
+ pw.println("<tr><td>Bytes waiting to be sent: " +
sendQueueSize+"</TD></TR>");
+ pw.println("<tr><td>Outbound connections that are to
peers not in the routingtable: " + 100 * (new
Float(outboundNotInRoutingtable).floatValue() / new
Float(outboundConnectionsCount).floatValue()) + "%" + "</TD></TR>");
} else {
- pw.println("<table><tr><td>");
- pw.println("<table border=0 cellspacing =
1>\n");
-
pw.println("<tr><td>Connections open (Inbound/Outbound/Limit)</td><td width
=10></td><td>" +
-
(inboundConnectionsCount+outboundConnectionsCount) +
- " (" +
inboundConnectionsCount + "/" + outboundConnectionsCount + "/" +
maxConnections+")</td></tr>");
-
- pw.println
-
("<tr><td>Connections transferring (Transmitting/Receiving)</td><td
width=10></td><td>" +
- (sendingConnectionsCount +
receivingConnectionsCount) +
-
" ("+sendingConnectionsCount+"/"+receivingConnectionsCount+")</td></tr>");
+
pw.println("<tr><td>Connections open (Inbound/Outbound/Limit)</td><td width
=10></td><td>" + (inboundConnectionsCount + outboundConnectionsCount) + " (" +
inboundConnectionsCount + "/" + outboundConnectionsCount + "/" + maxConnections +
")</td></tr>");
+
pw.println("<tr><td>Connections transferring (Transmitting/Receiving)</td><td
width=10></td><td>" + (sendingConnectionsCount + receivingConnectionsCount) +
" (" + sendingConnectionsCount + "/" + receivingConnectionsCount + ")</td></tr>");
if(viewLevel>0) {
- pw.println("<tr><td>Data waiting to be
transmitted/received</td><td width =10></td><td>" +
-
format(sendQueueSize)+
- "/"+
-
format(receiveQueueSize) +
- "</td></tr>");
- pw.println("<tr><td>Amount of data
transmitted/received over currently open connections</td>" +
- "<td width
=10></td><td>" +
-
format(totalDataSent) +
- "/" +
-
format(totalDataReceived) +
- "</td></tr>");
- pw.println("<tr><td>Outbound
connections that are to peers not in the routingtable</td>" +
- "<td width
=10></td><td>" +
- 100*(new
Float(outboundNotInRoutingtable).floatValue() /
- new
Float(outboundConnectionsCount).floatValue()) +
- "%</td></tr>");
- pw.println("<tr><td>Number of distinct
nodes connected</td><td width =10></td><td>" +
- uniquePeers.size()
+
- "</td></tr>");
-
-
//pw.println("<tr><td> </td></tr>");
- } else {
- pw.println("<tr><td>Data waiting to be
transfered</td><td width =10></td><td>" +
-
format(sendQueueSize+receiveQueueSize)+
- "</td></tr>");
+ pw.println("<tr><td>Data waiting to be
transmitted/received</td><td width =10></td><td>" + format(sendQueueSize) + "/" +
format(receiveQueueSize) + "</td></tr>");
+ pw.println("<tr><td>Amount of data
transmitted/received over currently open connections</td>" + "<td width =10></td><td>"
+ format(totalDataSent) + "/" + format(totalDataReceived) + "</td></tr>");
+ pw.println("<tr><td>Outbound connections that
are to peers not in the routingtable</td>" + "<td width =10></td><td>" + 100 * (new
Float(outboundNotInRoutingtable).floatValue() / new
Float(outboundConnectionsCount).floatValue()) + "%</td></tr>");
+ pw.println("<tr><td>Number of distinct nodes
connected</td><td width =10></td><td>" + uniquePeers.size() + "</td></tr>");
+ } else {
+ pw.println("<tr><td>Data waiting to be
transfered</td><td width =10></td><td>" + format(sendQueueSize + receiveQueueSize) +
"</td></tr>");
pw.println("<tr><td> </td></tr><tr><td> </td></tr>");
}
-
+ }
pw.println("</table>\n");
-
+ }
+ protected void renderOverview(PrintWriter pw, HttpServletRequest req)
+ {
+ renderTitle(pw, req);
+ pw.println("<table><tr><td>");
+ renderLeftHeader(pw,req);
pw.println("</td><td width =
100> </td><td>");
- pw.println(renderConnectionIconLegend());
+ renderRightHeader(pw, req);
pw.println("</td></tr></table>");
}
- }
private void renderTitle(PrintWriter pw, HttpServletRequest req) {
- if (useOldStyle) {
+ /*if (useOldStyle)
pw.println("<h2>Fred OpenConnectionManager Contents
<font size = 1><A HREF = '" + req.getRequestURI() + "?setMode=new'>[Switch to
graphical mode]</A></font></h2>");
- } else {
+ else
pw.println("<h2>Open connections <font size = 1><A
HREF = '" + req.getRequestURI() + "?setMode=old'>[Switch to text only
mode]</A></font></h2>");
- }
+ */
+ if (peerHandlerHTMLMode)
+ pw.println("<h2>Peers<font size = 1><A HREF = '" +
req.getRequestURI() + "?setMode=Connection'>[Switch to connections
mode]</A></font></h2>");
+ else
+ pw.println("<h2>Connections <font size = 1><A HREF =
'" + req.getRequestURI() + "?setMode=Peer'>[Switch to peers mode]</A></font></h2>");
pw.println("<b>" + new Date() + "</b><br>");
-
}
}
private class ConnectionsHTMLRenderer extends HTMLRenderer
@@ -1525,10 +1508,10 @@
else if(ch.sending()) imageURL
+= "_transmitting";
else imageURL += "_sleeping";
imageURL += ".png";
- buffer.append("<center><img src='" +
imageURL + "' height = '15' width = '24'>" +
-
ch.getLocalPort() + //FIXME put this into its own column.
-
"</center></td>");
+ buffer.append("<center><img src='" +
imageURL + "' height = '15' width = '24'>" + "</center></td>");
}
+ if(useOldStyle || viewLevel>0)
+ buffer.append("<TD>" +
ch.getLocalPort()+"</TD>");
NodeReference n =
Main.node.rt.getNodeReference(ch.peerIdentity());
NodeReference nPrev = (chPrev == null)
? null
@@ -1545,34 +1528,13 @@
// physical[odd] contains the
associated address
}
if (useOldStyle || viewLevel > 1) {
- buffer.append
- ("<td>" +
- (
- (chPrev != null &&
-
(chPrev.peerAddress().toString().compareTo(ch.peerAddress().toString()) == 0)
- )
- ? repetition
- : ch.peerAddress().toString()
- )
- );
+ buffer.append("<td>" + ((chPrev !=
null && (chPrev.peerAddress().toString().compareTo(ch.peerAddress().toString()) == 0))
? repetition : ch.peerAddress().toString()));
buffer.append(sep + ((nPrev != null &&
n != null && nPrev.equals(n)) ? repetition : s));
} else
- buffer.append
- ("<td align = 'right'>" +
- (n == null
- ? "<font color =
#555555>"+ch.peerAddress().toString()+"</font>"
- : s)
- );
+ buffer.append("<td align = 'right'>" + (n ==
null ? "<font color = #555555>" + ch.peerAddress().toString() + "</font>" : s));
if(useOldStyle || viewLevel > 1)
- buffer.append
- (sep +
- (
- (chPrev != null &&
chPrev.peerIdentity() == ch.peerIdentity())
- ? repetition
- :
ch.peerIdentity().toString().replaceAll(" "," ")
- )
- );
+ buffer.append(sep + ((chPrev != null
&& chPrev.peerIdentity() == ch.peerIdentity()) ? repetition :
ch.peerIdentity().toString().replaceAll(" ", " ")));
if(useOldStyle || viewLevel > 0) {
NodeReference nTarget =
ch.targetReference();
String peerVersion;
@@ -1636,6 +1598,8 @@
private void renderConnectionsTableHeader(PrintWriter pw,
HttpServletRequest req) {
if(!useOldStyle)
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.OUTBOUND,"Type"));
+ if(useOldStyle || viewLevel>0)
+
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.LOCAL_PORT,"Local
port"));
if(useOldStyle || viewLevel>1) {
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.PEER_ADDRESS,"Peer
address"));
pw.print(renderConnectionsTableColumnHeader(req.getRequestURI(),iSortingMode,ConnectionHandlerComparator.ROUTING_ADDRESS,"Routing
address"));
@@ -1671,19 +1635,11 @@
//Helper method for rendering the connection table header fields to
HTML
private String renderConnectionsTableColumnHeader(String scriptName,
int currentSorting, int clickSortingMode, String label) {
String sImgClause = "<img src='/servlet/images/aqua/s_ar_" +
(currentSorting < 0 ? "up" : "down") + "_olive.gif' height = '9' width = '10'>";
- return "<th><A HREF='"
- + scriptName
- + "?setSorting="
- + (currentSorting == clickSortingMode ? ("-" +
clickSortingMode) : new Long(clickSortingMode).toString())
- + "'>"
- + (Math.abs(currentSorting) == clickSortingMode ?
sImgClause : "")
- + " "
- + label.replaceAll(" ", " ")
- + "</A></th>";
+ return "<th><A HREF='" + scriptName + "?setSorting=" +
(currentSorting == clickSortingMode ? ("-" + clickSortingMode) : new
Long(clickSortingMode).toString()) + "'>" + (Math.abs(currentSorting) ==
clickSortingMode ? sImgClause : "") + " " + label.replaceAll(" ", " ") +
"</A></th>";
}
- protected void doRender(PrintWriter pw, HttpServletRequest req) {
+ protected void doRenderBody(PrintWriter pw, HttpServletRequest req) {
StringBuffer buffer = new StringBuffer();
List lConnections = getConnectionListSnapshot();
@@ -1722,7 +1678,7 @@
renderConnectionList(buffer, lConnections);
- renderOCMOverview(pw, req, lConnections);
+ //renderOCMOverview(pw, req);
if (!useOldStyle)
pw.print(
renderViewLevelSelectorLink(
@@ -1783,7 +1739,7 @@
outboundConnectionsCount =
p.getOutboundConnectionsCount();
}
}
- protected void doRender(PrintWriter pw, HttpServletRequest req) {
+ protected void doRenderBody(PrintWriter pw, HttpServletRequest req) {
pw.println(renderViewLevelSelectorLink(req.getRequestURI()));
Hashtable pPeerHandlers = getPeerHandlersSnapshot();
@@ -1806,6 +1762,8 @@
maxValues.copyLargest(p);
}
+
+
pw.println("<TABLE>");
it = lPHData.iterator();
while(it.hasNext()){
@@ -1824,13 +1782,14 @@
}
protected long calculateBarLength(long value, long max)
{
- int maxBarWidth = 150;
+ int maxBarWidth = 350;
int minBarLength = 2;
return
Math.round(normalize(value,max)*maxBarWidth+minBarLength);
}
protected void renderPeerHandler(PrintWriter pw, HttpServletRequest
req,PeerHandlerDataSnapshot p,PeerHandlerDataSnapshot normalizeTo)
{
+
pw.println("<TABLE BORDER = 1 BORDERCOLOR = #91A7DE
cellspacing = 0 cellpadding=0><TR><TD>");
pw.println("<TABLE border=0 cellspacing = 0><TR BGCOLOR =
#E7EDFE>");
boolean inRoutingTable =
freenet.node.Main.node.rt.references(p.identity);
@@ -1845,19 +1804,9 @@
if(iSep >0)
peerAddress = peerAddress.substring(0,iSep);
}
- pw.println("<TD colspan =
2>"+peerAddress+" (version "+peerVersion+")</TD>");
+ pw.println("<TD colspan = 2 width = 200
>"+peerAddress+" (version "+peerVersion+")</TD>");
colsUsed = colsUsed+2;
- /*
- if(viewLevel>0)
- {
- if(freenet.node.Main.node.rt.references(p.id))
- pw.println("<TD>"+"In routing table"+"</TD>");
- else
- pw.println("<TD></TD>");
- colsUsed++;
- }
- */
if(viewLevel>1)
{
pw.println("<TD>"+p.identity.toString()+"</TD>");
@@ -1879,66 +1828,71 @@
//DataQueues
if(viewLevel ==0){
//TODO: Add receiveQueue to the sendqueue below
- v1 = new
Value(null,format(p.sendQueue),"0000FF",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
+ v1 = new
Value(null,format(p.sendQueue),"252597",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
v2 = null;
}else{
String sendQueue =
viewLevel>1?String.valueOf(p.sendQueue):format(p.sendQueue);
String receiveQueue =
viewLevel>1?String.valueOf(0):format(0);
- v1 = new
Value("out",sendQueue,"0000FF",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
- v2 = new
Value("in",receiveQueue,"0000FF",calculateBarLength(0,normalizeTo.sendQueue));
+ v1 = new
Value("out",sendQueue,"7810D0",calculateBarLength(p.sendQueue,normalizeTo.sendQueue));
+ v2 = new
Value("in",receiveQueue,"252597",calculateBarLength(0,normalizeTo.sendQueue));
}
renderPeerHandlerCell(pw,req,"Data queued",v1,v2);
//Data Transfered
if(viewLevel ==0){
- v1 = new
Value(null,format(0),"0000FF",calculateBarLength(0,0));
+ v1 = new
Value(null,format(0),"252597",calculateBarLength(0,0));
v2 = null;
}else{
String dataSent =
viewLevel>1?String.valueOf(0):format(0);
String dataReceived =
viewLevel>1?String.valueOf(0):format(0);
- v1 = new
Value("sent",dataSent,"FF0000",calculateBarLength(0,0));
- v2 = new
Value("received",dataReceived,"FF0000",calculateBarLength(0,0));
+ v1 = new
Value("sent",dataSent,"7810D0",calculateBarLength(0,0));
+ v2 = new
Value("received",dataReceived,"252597",calculateBarLength(0,0));
}
renderPeerHandlerCell(pw,req,"Data transfered",v1,v2);
//MessageQueue
if(viewLevel ==0){
- v1 = new
Value(null,String.valueOf(p.nonTrailerMessagesQueued+p.trailerMessagesQueued),"0000FF",calculateBarLength(p.nonTrailerMessagesQueued+p.trailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued+normalizeTo.trailerMessagesQueued));
+ v1 = new
Value(null,String.valueOf(p.nonTrailerMessagesQueued+p.trailerMessagesQueued),"252597",calculateBarLength(p.nonTrailerMessagesQueued+p.trailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued+normalizeTo.trailerMessagesQueued));
v2 = null;
}else{
- v1 = new
Value("small",String.valueOf(p.nonTrailerMessagesQueued),"FF0000",calculateBarLength(p.nonTrailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued));
- v2 = new
Value("large",String.valueOf(p.trailerMessagesQueued),"FF0000",calculateBarLength(p.trailerMessagesQueued,normalizeTo.trailerMessagesQueued));
+ v1 = new
Value("small",String.valueOf(p.nonTrailerMessagesQueued),"7810D0",calculateBarLength(p.nonTrailerMessagesQueued,normalizeTo.nonTrailerMessagesQueued));
+ v2 = new
Value("large",String.valueOf(p.trailerMessagesQueued),"252597",calculateBarLength(p.trailerMessagesQueued,normalizeTo.trailerMessagesQueued));
}
renderPeerHandlerCell(pw,req,"Messages queued",v1,v2);
//Messages transfered
String messagesTransfered = String.valueOf(0);
- renderPeerHandlerCell(pw,req,"Messages
transfered",messagesTransfered,"0000FF",calculateBarLength(0,0));
+ renderPeerHandlerCell(pw,req,"Messages
transfered",messagesTransfered,"252597",calculateBarLength(0,0));
//Transfers
//String transfers = String.valueOf(0);
//renderPeerHandlerCell(pw,req,"Transfers
completed",transfers,"0000FF",100);
//Idle time
+ v1 = new
Value("idle",timeFromMillis(p.idleTime,true,true),"7810D0",calculateBarLength(p.idleTime,normalizeTo.idleTime));
+ v2 = new
Value("life",timeFromMillis(p.lifeTime,true,true),"252597",calculateBarLength(p.lifeTime,normalizeTo.lifeTime));
+ renderPeerHandlerCell(pw,req,"Time",v1,v2);
+ /*
String idleTime = timeFromMillis(p.idleTime,true,true);
- renderPeerHandlerCell(pw,req,"Idle
time",idleTime,"FF0000",calculateBarLength(p.idleTime,normalizeTo.idleTime));
+ renderPeerHandlerCell(pw,req,"Idle
time",idleTime,"FF9C01",calculateBarLength(p.idleTime,normalizeTo.idleTime));
//Life time
String lifeTime = timeFromMillis(p.lifeTime,true,true);
- renderPeerHandlerCell(pw,req,"Life
time",lifeTime,"FF0000",calculateBarLength(p.lifeTime,normalizeTo.lifeTime));
+ renderPeerHandlerCell(pw,req,"Life
time",lifeTime,"FF9C01",calculateBarLength(p.lifeTime,normalizeTo.lifeTime));
+ */
//Connections
if (viewLevel == 0) {
- v1 = new
Value(null,String.valueOf(p.inboundConnectionsCount+p.outboundConnectionsCount),"FF0000",calculateBarLength(p.inboundConnectionsCount+p.outboundConnectionsCount,normalizeTo.inboundConnectionsCount+normalizeTo.outboundConnectionsCount));
+ v1 = new
Value(null,String.valueOf(p.inboundConnectionsCount+p.outboundConnectionsCount),"252597",calculateBarLength(p.inboundConnectionsCount+p.outboundConnectionsCount,normalizeTo.inboundConnectionsCount+normalizeTo.outboundConnectionsCount));
v2 = null;
} else {
- v1 = new
Value("out",String.valueOf(p.outboundConnectionsCount),"FF0000",calculateBarLength(p.outboundConnectionsCount,normalizeTo.outboundConnectionsCount));
- v2 = new
Value("in",String.valueOf(p.inboundConnectionsCount),"FF00FF",calculateBarLength(p.inboundConnectionsCount,normalizeTo.inboundConnectionsCount));
+ v1 = new
Value("out",String.valueOf(p.outboundConnectionsCount),"7810D0",calculateBarLength(p.outboundConnectionsCount,normalizeTo.outboundConnectionsCount));
+ v2 = new
Value("in",String.valueOf(p.inboundConnectionsCount),"252597",calculateBarLength(p.inboundConnectionsCount,normalizeTo.inboundConnectionsCount));
}
renderPeerHandlerCell(pw,req,"Open connections",v1,v2);
-
pw.println("</TABLE></TD></TR></TABLE>");
+
}
protected void renderPeerHandlerCell(PrintWriter pw,
HttpServletRequest req, String label,String data,String barColor, long barLength) {
@@ -1948,27 +1902,48 @@
protected void renderPeerHandlerCell(PrintWriter pw,
HttpServletRequest req, String label, Value v1, Value v2) {
String labelString,dataString;
if(v2 == null){
- labelString = label.replaceAll(" "," ");
- dataString = v1.data;
+ labelString = "<font size = 2>"+label.replaceAll("
"," ")+"</font>";
+ dataString = "<font size = 2>"+v1.data+"</font>";
}else{
- labelString = label.replaceAll(" "," ")
+" (<font color="+v1.barColor+">"+v1.subLabel+"</font>/<font
color="+v2.barColor+">"+v2.subLabel+ "</font>)";
- dataString = "<font
color="+v1.barColor+">"+v1.data+"</font>/<font color="+v2.barColor+">"+v2.data+
"</font>";
+ labelString = "<font size = 2>"+label.replaceAll("
"," ") +" (</FONT><font size = 2
color="+v1.barColor+">"+v1.subLabel+"</font><font size = 2 >/</font><font size = 2
color="+v2.barColor+">"+v2.subLabel+ "</font><font size = 2>)</font>";
+ dataString = "<font size = 2
color="+v1.barColor+">"+v1.data.replaceAll(" "," ")+"</font><font size = 2
>/</font><font size = 2 color="+v2.barColor+">"+v2.data.replaceAll(" "," ")+
"</font>";
}
- pw.println("<TR><TD>"+labelString+":</TD><TD>" + dataString +
"</TD>");
- pw.println("<TD ROWSPAN =
"+(v2==null?"2":"3")+"> </TD><TD ROWSPAN =
"+(v2==null?"2":"3")+">Graph here</TD></TR>");
- pw.println("<TR height = 3px><TD COLSPAN=2><IMG height = 3
width="+v1.barLength+"
SRC='/servlet/coloredpixel?color="+v1.barColor+"'></IMG></TD></TR>");
+ pw.println("<TR><TD>"+labelString+"</TD><TD>" + dataString+
"</TD>");
+ pw.println("<TD ROWSPAN =
"+(v2==null?"2":"3")+"> </TD><TD ROWSPAN =
"+(v2==null?"2":"3")+">[History graph here]</TD></TR>");
+ pw.println("<TR height = 3px><TD COLSPAN=2><IMG height = 4
width="+v1.barLength+"
SRC='/servlet/coloredpixel?color="+v1.barColor+"'></IMG></TD></TR>");
if(v2 != null)
- pw.println("<TR height = 3px><TD COLSPAN=2><IMG height
= 3 width="+v2.barLength+"
SRC='/servlet/coloredpixel?color="+v2.barColor+"'></IMG></TD></TR>");
+ pw.println("<TR height = 3px><TD COLSPAN=2><IMG height
= 4 width="+v2.barLength+"
SRC='/servlet/coloredpixel?color="+v2.barColor+"'></IMG></TD></TR>");
+ }
+ protected void renderRightHeader(PrintWriter pw, HttpServletRequest
req)
+ {
+ renderSortingTool(pw,req);
}
protected void renderSortingTool(PrintWriter pw, HttpServletRequest
req){
- pw.println("<TABLE>");
+ pw.println("<TABLE BORDER = 1 BORDERCOLOR = #91A7DE
cellspacing = 0 cellpadding=0><TR><TD>");
+ pw.println("<TABLE border=0 cellspacing = 0><TR BGCOLOR =
#E7EDFE><TD>Sort by:</TD></TR>");
+ pw.println(renderSortingLink(req.getRequestURI(),"Peer
address",PeerHandler.PeerHandlerComparator.PEER_ADDRESS));
if(viewLevel==0)
pw.println(renderSortingLink(req.getRequestURI(),"Data
queued",PeerHandler.PeerHandlerComparator.COMBINEDQUEUE));
else{
pw.println(renderSortingLink(req.getRequestURI(),"Data
queued out",PeerHandler.PeerHandlerComparator.SENDQUEUE));
-
//pw.println(renderSortingLink(req.getRequestURI(),"Data queued
out",PeerHandler.PeerHandlerComparator.SENDQUEUE));
+
//pw.println(renderSortingLink(req.getRequestURI(),"Data queued
in",PeerHandler.PeerHandlerComparator.SENDQUEUE));
}
- pw.println("/<TABLE>");
+
+ if(viewLevel==0)
+
pw.println(renderSortingLink(req.getRequestURI(),"Messages
queued",PeerHandler.PeerHandlerComparator.QUEUED_MESSAGES_COMBINED));
+ else{
+
pw.println(renderSortingLink(req.getRequestURI(),"Small messages
queued",PeerHandler.PeerHandlerComparator.QUEUED_MESSAGES));
+
pw.println(renderSortingLink(req.getRequestURI(),"Large messages
queued",PeerHandler.PeerHandlerComparator.QUEUED_TRAILERMESSAGES));
+ }
+ pw.println(renderSortingLink(req.getRequestURI(),"Idle
time",PeerHandler.PeerHandlerComparator.IDLETIME));
+ pw.println(renderSortingLink(req.getRequestURI(),"Life
time",PeerHandler.PeerHandlerComparator.LIFETIME));
+ if(viewLevel==0)
+ pw.println(renderSortingLink(req.getRequestURI(),"Open
connections",PeerHandler.PeerHandlerComparator.CONNECTIONS_OPEN_COMBINED));
+ else{
+
pw.println(renderSortingLink(req.getRequestURI(),"Outbound
connections",PeerHandler.PeerHandlerComparator.CONNECTIONS_OPEN_OUTBOUND));
+
pw.println(renderSortingLink(req.getRequestURI(),"Inbound
connections",PeerHandler.PeerHandlerComparator.CONNECTIONS_OPEN_INBOUND));
+ }
+ pw.println("</TABLE></TD></TR></TABLE>");
}
protected String renderSortingLink(String scriptName, String label,
int clickSortingMode) {
String sImgClause = "<img src='/servlet/images/aqua/s_ar_" +
(iSortingMode < 0 ? "up" : "down") + "_olive.gif' height = '9' width = '10'>";
_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs