Author: toad
Date: 2007-11-21 15:43:31 +0000 (Wed, 21 Nov 2007)
New Revision: 15905

Modified:
   trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java
   trunk/freenet/src/freenet/io/AddressTracker.java
   trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
Log:
Show packets by IP also.

Modified: trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java     
2007-11-21 13:47:38 UTC (rev 15904)
+++ trunk/freenet/src/freenet/clients/http/ConnectivityToadlet.java     
2007-11-21 15:43:31 UTC (rev 15905)
@@ -20,6 +20,7 @@

 import freenet.client.HighLevelSimpleClient;
 import freenet.io.AddressTracker;
+import freenet.io.InetAddressAddressTrackerItem;
 import freenet.io.PeerAddressTrackerItem;
 import freenet.io.comm.UdpSocketHandler;
 import freenet.l10n.L10n;
@@ -70,6 +71,7 @@
                String remote = l10n("remote");

                for(int i=0;i<handlers.length;i++) {
+                       // Peers
                        HTMLNode portsBox = 
pageMaker.getInfobox(L10n.getString("ConnectivityToadlet.byPortTitle", "port", 
handlers[i].getName()));
                        contentNode.addChild(portsBox);
                        HTMLNode portsContent = 
pageMaker.getContentNode(portsBox);
@@ -97,7 +99,35 @@
                                // Lead in time to first packet received
                                row.addChild("td", 
TimeUtil.formatTime(item.timeFromStartupToFirstReceivedPacket()));
                        }
-                       // FIXME IP addresses too
+
+                       // IPs
+                       portsBox = 
pageMaker.getInfobox(L10n.getString("ConnectivityToadlet.byIPTitle", "ip", 
handlers[i].getName()));
+                       contentNode.addChild(portsBox);
+                       portsContent = pageMaker.getContentNode(portsBox);
+                       InetAddressAddressTrackerItem[] ipItems = 
tracker.getInetAddressTrackerItems();
+                       table = portsContent.addChild("table");
+                       row = table.addChild("tr");
+                       row.addChild("th", l10n("addressTitle"));
+                       row.addChild("th", l10n("sentReceivedTitle"));
+                       row.addChild("th", l10n("localRemoteTitle"));
+                       row.addChild("th", l10n("firstSendLeadTime"));
+                       row.addChild("th", l10n("firstReceiveLeadTime"));
+                       for(int j=0;j<ipItems.length;j++) {
+                               row = table.addChild("tr");
+                               InetAddressAddressTrackerItem item = ipItems[j];
+                               // Address
+                               row.addChild("td", item.addr.toString());
+                               // Sent/received packets
+                               row.addChild("td", item.packetsSent() + "/ " + 
item.packetsReceived());
+                               // Initiator: local/remote FIXME something more 
graphical e.g. colored cells
+                               row.addChild("td", item.packetsReceived() == 0 
? noreply :
+                                               (item.weSentFirst() ? local : 
remote));
+                               // Lead in time to first packet sent
+                               row.addChild("td", 
TimeUtil.formatTime(item.timeFromStartupToFirstSentPacket()));
+                               // Lead in time to first packet received
+                               row.addChild("td", 
TimeUtil.formatTime(item.timeFromStartupToFirstReceivedPacket()));
+                       }
+
                }

                writeHTMLReply(ctx, 200, "OK", pageNode.generate());

Modified: trunk/freenet/src/freenet/io/AddressTracker.java
===================================================================
--- trunk/freenet/src/freenet/io/AddressTracker.java    2007-11-21 13:47:38 UTC 
(rev 15904)
+++ trunk/freenet/src/freenet/io/AddressTracker.java    2007-11-21 15:43:31 UTC 
(rev 15905)
@@ -105,4 +105,9 @@
                PeerAddressTrackerItem[] items = new 
PeerAddressTrackerItem[peerTrackers.size()];
                return (PeerAddressTrackerItem[]) 
peerTrackers.values().toArray(items);
        }
+
+       public synchronized InetAddressAddressTrackerItem[] 
getInetAddressTrackerItems() {
+               InetAddressAddressTrackerItem[] items = new 
InetAddressAddressTrackerItem[ipTrackers.size()];
+               return (InetAddressAddressTrackerItem[]) 
ipTrackers.values().toArray(items);
+       }
 }

Modified: trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties
===================================================================
--- trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2007-11-21 
13:47:38 UTC (rev 15904)
+++ trunk/freenet/src/freenet/l10n/freenet.l10n.en.properties   2007-11-21 
15:43:31 UTC (rev 15905)
@@ -87,6 +87,7 @@
 ConfigToadlet.true=true
 ConfigurablePersister.doesNotExistCannotCreate=File does not exist and cannot 
be created
 ConfigurablePersister.existsCannotReadWrite=File exists and cannot read/write 
it
+ConnectivityToadlet.byIPTitle=Packets for ${ip} by IP address
 ConnectivityToadlet.title=Internet connectivity for ${nodeName}
 ConnectivityToadlet.connectivity=Internet Connectivity
 ConnectivityToadlet.connectivityTitle=Connectivity
@@ -95,7 +96,7 @@
 ConnectivityToadlet.localRemoteTitle=Local/remote
 ConnectivityToadlet.addressTitle=Address
 ConnectivityToadlet.sentReceivedTitle=Sent/received packets
-ConnectivityToadlet.byPortTitle=Packets for ${port}
+ConnectivityToadlet.byPortTitle=Packets for ${port} by port
 ConnectivityToadlet.local=LOCAL
 ConnectivityToadlet.remote=REMOTE
 ConnectivityToadlet.noreply=NO REPLY


Reply via email to