Author: zothar
Date: 2008-01-09 00:53:07 +0000 (Wed, 09 Jan 2008)
New Revision: 16974
Modified:
trunk/freenet/src/freenet/node/DarknetPeerNode.java
trunk/freenet/src/freenet/node/OpennetPeerNode.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/SeedClientPeerNode.java
trunk/freenet/src/freenet/node/SeedServerPeerNode.java
Log:
Implement isDarknet(). Move sendNodeToNodeMessage() to PeerNode and queue on
not connected only if the peer is a darknet peer.
Modified: trunk/freenet/src/freenet/node/DarknetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-01-09 00:00:39 UTC
(rev 16973)
+++ trunk/freenet/src/freenet/node/DarknetPeerNode.java 2008-01-09 00:53:07 UTC
(rev 16974)
@@ -1257,28 +1257,6 @@
}
}
- public void sendNodeToNodeMessage(SimpleFieldSet fs, int n2nType,
boolean includeSentTime, long now) {
- fs.put("n2nType", n2nType);
- if(includeSentTime) {
- fs.put("sentTime", now);
- }
- try {
- Message n2nm;
- n2nm = DMT.createNodeToNodeMessage(
- n2nType,
fs.toString().getBytes("UTF-8"));
- try {
- sendAsync(n2nm, null, 0, null);
- } catch (NotConnectedException e) {
- if(includeSentTime) {
- fs.removeValue("sentTime");
- }
- queueN2NM(fs);
- }
- } catch (UnsupportedEncodingException e) {
- throw new Error("Impossible: "+e, e);
- }
- }
-
public int sendFileOfferAccepted(long uid) {
storeOffers();
long now = System.currentTimeMillis();
@@ -1509,6 +1487,10 @@
return new DarknetPeerNodeStatus(this, noHeavy);
}
+ public boolean isDarknet() {
+ return true;
+ }
+
public boolean isOpennet() {
return false;
}
Modified: trunk/freenet/src/freenet/node/OpennetPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetPeerNode.java 2008-01-09 00:00:39 UTC
(rev 16973)
+++ trunk/freenet/src/freenet/node/OpennetPeerNode.java 2008-01-09 00:53:07 UTC
(rev 16974)
@@ -23,6 +23,10 @@
return super.isRoutingCompatible();
}
+ public boolean isDarknet() {
+ return false;
+ }
+
public boolean isOpennet() {
return true;
}
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2008-01-09 00:00:39 UTC
(rev 16973)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2008-01-09 00:53:07 UTC
(rev 16974)
@@ -2367,6 +2367,8 @@
return fs;
}
+ public abstract boolean isDarknet();
+
public abstract boolean isOpennet();
/**
@@ -3498,4 +3500,35 @@
}
private int handshakeIPAlternator;
+
+ public void sendNodeToNodeMessage(SimpleFieldSet fs, int n2nType,
boolean includeSentTime, long now) {
+ fs.put("n2nType", n2nType);
+ if(includeSentTime) {
+ fs.put("sentTime", now);
+ }
+ try {
+ Message n2nm;
+ n2nm = DMT.createNodeToNodeMessage(
+ n2nType,
fs.toString().getBytes("UTF-8"));
+ try {
+ sendAsync(n2nm, null, 0, null);
+ } catch (NotConnectedException e) {
+ if(includeSentTime) {
+ fs.removeValue("sentTime");
+ }
+ if(isDarknet()) {
+ queueN2NM(fs);
+ }
+ }
+ } catch (UnsupportedEncodingException e) {
+ throw new Error("Impossible: "+e, e);
+ }
+ }
+
+ /**
+ * A method to be to queue an N2NM in a extra peer data file, only
implemented by DarknetPeerNode
+ */
+ public void queueN2NM(SimpleFieldSet fs) {
+ // Do nothing in the default impl
+ }
}
Modified: trunk/freenet/src/freenet/node/SeedClientPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedClientPeerNode.java 2008-01-09
00:00:39 UTC (rev 16973)
+++ trunk/freenet/src/freenet/node/SeedClientPeerNode.java 2008-01-09
00:53:07 UTC (rev 16974)
@@ -21,6 +21,10 @@
return new PeerNodeStatus(this, noHeavy);
}
+ public boolean isDarknet() {
+ return false;
+ }
+
public boolean isOpennet() {
return false; // Not exactly
}
Modified: trunk/freenet/src/freenet/node/SeedServerPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedServerPeerNode.java 2008-01-09
00:00:39 UTC (rev 16973)
+++ trunk/freenet/src/freenet/node/SeedServerPeerNode.java 2008-01-09
00:53:07 UTC (rev 16974)
@@ -26,6 +26,10 @@
return new PeerNodeStatus(this, noHeavy);
}
+ public boolean isDarknet() {
+ return false;
+ }
+
public boolean isOpennet() {
return false;
}