Author: toad
Date: 2007-06-28 18:43:57 +0000 (Thu, 28 Jun 2007)
New Revision: 13811
Modified:
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/TextModeClientInterface.java
trunk/freenet/src/freenet/node/fcp/AddPeer.java
Log:
Use DarknetPeerNode's not PeerNode's!
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2007-06-28 18:29:08 UTC
(rev 13810)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2007-06-28 18:43:57 UTC
(rev 13811)
@@ -150,7 +150,7 @@
fs = new SimpleFieldSet(br, false, true);
PeerNode pn;
try {
- pn = new PeerNode(fs, node, this, true, mangler);
+ pn = PeerNode.create(fs, node, this, true, mangler);
} catch (FSParseException e2) {
Logger.error(this, "Could not parse peer: "+e2+ '\n'
+fs.toString(),e2);
continue;
@@ -328,7 +328,7 @@
* Connect to a node provided the fieldset representing it.
*/
public void connect(SimpleFieldSet noderef, OutgoingPacketMangler mangler)
throws FSParseException, PeerParseException,
ReferenceSignatureVerificationException {
- PeerNode pn = new PeerNode(noderef, node, this, false, mangler);
+ PeerNode pn = new DarknetPeerNode(noderef, node, this, false, mangler);
for(int i=0;i<myPeers.length;i++) {
if(Arrays.equals(myPeers[i].identity, pn.identity)) return;
}
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2007-06-28 18:29:08 UTC
(rev 13810)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2007-06-28 18:43:57 UTC
(rev 13811)
@@ -71,7 +71,7 @@
* code into KeyTracker, which handles all communications to and
* from this peer over the duration of a single key.
*/
-public class PeerNode implements PeerContext, USKRetrieverCallback {
+public abstract class PeerNode implements PeerContext, USKRetrieverCallback {
/** Set to true when we complete a handshake. */
private boolean completedHandshake;
@@ -2645,4 +2645,11 @@
public boolean isIgnoreSource() {
return false;
}
+
+ /**
+ * Create a DarknetPeerNode or an OpennetPeerNode as appropriate
+ */
+ public static PeerNode create(SimpleFieldSet fs, Node node2,
PeerManager manager, boolean b, OutgoingPacketMangler mangler) throws
FSParseException, PeerParseException, ReferenceSignatureVerificationException {
+ return new DarknetPeerNode(fs, node2, manager, b, mangler);
+ }
}
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-06-28
18:29:08 UTC (rev 13810)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-06-28
18:43:57 UTC (rev 13811)
@@ -1016,7 +1016,7 @@
}
PeerNode pn;
try {
- pn = new PeerNode(fs, n, n.peers, false, n.packetMangler);
+ pn = new DarknetPeerNode(fs, n, n.peers, false, n.packetMangler);
} catch (FSParseException e1) {
System.err.println("Did not parse: "+e1);
Logger.error(this, "Did not parse: "+e1, e1);
Modified: trunk/freenet/src/freenet/node/fcp/AddPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AddPeer.java 2007-06-28 18:29:08 UTC
(rev 13810)
+++ trunk/freenet/src/freenet/node/fcp/AddPeer.java 2007-06-28 18:43:57 UTC
(rev 13811)
@@ -15,6 +15,7 @@
import freenet.io.comm.PeerParseException;
import freenet.io.comm.ReferenceSignatureVerificationException;
+import freenet.node.DarknetPeerNode;
import freenet.node.FSParseException;
import freenet.node.Node;
import freenet.node.PeerNode;
@@ -111,7 +112,7 @@
fs.setEndMarker( "End" );
PeerNode pn;
try {
- pn = new PeerNode(fs, node, node.peers, false,
node.packetMangler);
+ pn = new DarknetPeerNode(fs, node, node.peers, false,
node.packetMangler);
} catch (FSParseException e) {
throw new
MessageInvalidException(ProtocolErrorMessage.REF_PARSE_ERROR, "Error parsing
ref: "+e.getMessage(), null, false);
} catch (PeerParseException e) {