Author: toad
Date: 2006-03-28 00:33:20 +0000 (Tue, 28 Mar 2006)
New Revision: 8331

Modified:
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/TestnetHandler.java
   trunk/freenet/src/freenet/node/Version.java
Log:
579: Add PEERS command to testnet code.

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2006-03-27 21:16:20 UTC 
(rev 8330)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2006-03-28 00:33:20 UTC 
(rev 8331)
@@ -428,23 +428,10 @@
                 return;
             }
             OutputStreamWriter w = new OutputStreamWriter(fos);
-            PeerNode[] peers = myPeers;
-            for (int i = 0; i < peers.length; i++) {
-                try {
-                    peers[i].write(w);
-                    w.flush();
-                } catch (IOException e) {
-                    try {
-                        w.close();
-                    } catch (IOException e1) {
-                        Logger.error(this, "Cannot close file!: " + e1, e1);
-                    }
-                    Logger.error(this, "Cannot write peers to disk: " + e, e);
-                    return;
-                }
-            }
             try {
+               boolean succeeded = writePeers(w);
                 w.close();
+                if(!succeeded) return;
             } catch (IOException e) {
                 Logger.error(this, "Cannot close file!: " + e, e);
             }
@@ -457,4 +444,23 @@
             }
         }
     }
+
+       public boolean writePeers(OutputStreamWriter w) {
+        PeerNode[] peers = myPeers;
+        for (int i = 0; i < peers.length; i++) {
+            try {
+                peers[i].write(w);
+                w.flush();
+            } catch (IOException e) {
+                try {
+                    w.close();
+                } catch (IOException e1) {
+                    Logger.error(this, "Cannot close file!: " + e1, e1);
+                }
+                Logger.error(this, "Cannot write peers to disk: " + e, e);
+                return false;
+            }
+        }
+        return true;
+       }
 }

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-03-27 21:16:20 UTC 
(rev 8330)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-03-28 00:33:20 UTC 
(rev 8331)
@@ -262,7 +262,8 @@
                                        "\nNode:      
"+HexUtil.bytesToHex(nodeKey)+
                                 "\nNode hash: 
"+HexUtil.bytesToHex(nodeKeyHash)+
                                 "\nThis:      
"+HexUtil.bytesToHex(identityHash)+
-                                "\nThis hash: 
"+HexUtil.bytesToHex(setupKeyHash));
+                                "\nThis hash: 
"+HexUtil.bytesToHex(setupKeyHash)+
+                                "\nFor:       "+getDetectedPeer());

         try {
             incomingSetupCipher = new Rijndael(256,256);

Modified: trunk/freenet/src/freenet/node/TestnetHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/TestnetHandler.java  2006-03-27 21:16:20 UTC 
(rev 8330)
+++ trunk/freenet/src/freenet/node/TestnetHandler.java  2006-03-28 00:33:20 UTC 
(rev 8331)
@@ -22,6 +22,7 @@
 import freenet.node.Node.NodeInitException;
 import freenet.support.FileLoggerHook;
 import freenet.support.Logger;
+import freenet.support.SimpleFieldSet;

 /**
  * Testnet handler.
@@ -144,6 +145,15 @@
                                        OutputStreamWriter osw = new 
OutputStreamWriter(os, "ISO-8859-1");
                                        osw.write(node.getStatus());
                                        osw.close();
+                               } else if(command.equalsIgnoreCase("PEERS")) {
+                                       Logger.minor(this, "Sending 
references");
+                                       OutputStreamWriter osw = new 
OutputStreamWriter(os, "ISO-8859-1");
+                                       osw.write("My ref:\n\n");
+                                       SimpleFieldSet fs = 
node.exportFieldSet();
+                                       fs.writeTo(osw);
+                                       osw.write("\n\nMy peers:\n");
+                                       node.peers.writePeers(osw);
+                                       osw.close();
                                }else {
                                        Logger.error(this, "Unknown testnet 
command: "+command);
                                }

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-27 21:16:20 UTC (rev 
8330)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-28 00:33:20 UTC (rev 
8331)
@@ -20,7 +20,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 578;
+       private static final int buildNumber = 579;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 507;


Reply via email to