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;