From a4bc6d4ebf337b8a74acad55ba6749d8a105976d Mon Sep 17 00:00:00 2001 From: josh Date: Sun, 9 Mar 2008 00:58:39 +0000 Subject: [PATCH] search results now include connection speed git-svn-id: svn://anubis/gvsu@49 45c1a28c-8058-47b2-ae61-ca45b979098e --- cs654/proj1/KaZaClient.java | 8 ++++++-- cs654/proj1/KaZaGUI.java | 17 ++++++++++++----- cs654/proj1/KaZaServer.java | 1 + 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/cs654/proj1/KaZaClient.java b/cs654/proj1/KaZaClient.java index 9c89cea..446833e 100644 --- a/cs654/proj1/KaZaClient.java +++ b/cs654/proj1/KaZaClient.java @@ -82,7 +82,7 @@ public class KaZaClient break; StringTokenizer tokens = new StringTokenizer(resultStr, "|"); SearchResult result = new SearchResult(); - for (int i = 0; i < 4; i++) + for (int i = 0; i < 5; i++) { if (tokens.hasMoreTokens()) { @@ -96,9 +96,12 @@ public class KaZaClient result.userName = t; break; case 2: - result.fileName = t; + result.speed = Integer.parseInt(t); break; case 3: + result.fileName = t; + break; + case 4: result.fileDescription = t; break; } @@ -115,6 +118,7 @@ public class KaZaClient { String peerAddress = ""; String userName = ""; + int speed = 0; String fileName = ""; String fileDescription = ""; } diff --git a/cs654/proj1/KaZaGUI.java b/cs654/proj1/KaZaGUI.java index ca5bb68..bdea598 100644 --- a/cs654/proj1/KaZaGUI.java +++ b/cs654/proj1/KaZaGUI.java @@ -158,7 +158,8 @@ public class KaZaGUI extends JFrame for (KaZaClient.SearchResult r : results) { String res = "User: \"" + r.userName + "\" [" + - r.peerAddress + "], File: \"" + + r.peerAddress + ", " + getSpeedString(r.speed) + + "], File: \"" + r.fileName + "\" (" + r.fileDescription + ")"; stringResults.add(res); } @@ -173,6 +174,16 @@ public class KaZaGUI extends JFrame repaint(); } + /* val is measured in Kbps */ + private String getSpeedString(int val) + { + if (val > 999999) + return (val/1000000) + " Gbps"; + if (val > 999) + return (val / 1000) + " Mbps"; + return val + " Kbps"; + } + private class ConnectionSpeed { private String m_caption; @@ -257,10 +268,6 @@ public class KaZaGUI extends JFrame p.add(m_searchButton); clientPanel.add(p); clientPanel.add(m_searchResultsPanel); -// clientPanel.add(new Box.Filler(new Dimension(0, 0), -// new Dimension(0, Short.MAX_VALUE), -// new Dimension(Short.MAX_VALUE, -// Short.MAX_VALUE))); p = new JPanel(); p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS)); p.add(m_statusLabel); diff --git a/cs654/proj1/KaZaServer.java b/cs654/proj1/KaZaServer.java index 5331d1a..11db7a9 100644 --- a/cs654/proj1/KaZaServer.java +++ b/cs654/proj1/KaZaServer.java @@ -224,6 +224,7 @@ public class KaZaServer implements Runnable { results += clientIP + "|" + m_clientData.get(clientIP).userName + "|" + + m_clientData.get(clientIP).speed + "|" + fileName + "|" + files.get(fileName) + "\n"; }