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;
        }


Reply via email to