Author: zothar
Date: 2006-11-26 04:31:13 +0000 (Sun, 26 Nov 2006)
New Revision: 11055

Modified:
   trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
Log:
Phase 2 of 2 for implementing N2NMs.

Modified: trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java    2006-11-26 
04:01:58 UTC (rev 11054)
+++ trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java    2006-11-26 
04:31:13 UTC (rev 11055)
@@ -16,10 +16,12 @@
 import freenet.node.Node;
 import freenet.node.NodeClientCore;
 import freenet.node.PeerNode;
+import freenet.node.Version;
 import freenet.support.Base64;
 import freenet.support.HTMLNode;
 import freenet.support.Logger;
 import freenet.support.MultiValueTable;
+import freenet.support.ShortBuffer;
 import freenet.support.SimpleFieldSet;
 import freenet.support.io.Bucket;

@@ -137,16 +139,21 @@
                                        String sendStatusLong;
                                        String sendStatusClass;
                                        try {
-                                               Message n2ntm = 
DMT.createNodeToNodeTextMessage(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT, 
node.getMyName(), pn.getName(), message);
+                                               SimpleFieldSet fs = new 
SimpleFieldSet();
+                                               fs.put("type", 
Integer.toString(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT));
+                                               fs.put("source_nodename", 
Base64.encode(node.getMyName().getBytes()));
+                                               fs.put("target_nodename", 
Base64.encode(pn.getName().getBytes()));
+                                               fs.put("text", 
Base64.encode(message.getBytes()));
+                                               Message n2ntm;
+                                               if(Version.buildNumber() < 
1000) {  // FIXME/TODO: This test shouldn't be need eventually
+                                                       n2ntm = 
DMT.createNodeToNodeTextMessage(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT, 
node.getMyName(), pn.getName(), message);
+                                               } else {
+                                                       n2ntm = 
DMT.createNodeToNodeMessage(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT, 
fs.toString().getBytes("UTF-8"));
+                                               }
                                                if(!pn.isConnected()) {
                                                        sendStatusShort = 
"Queued";
                                                        sendStatusLong = 
"Queued: Peer not connected, so message queued for when it connects";
                                                        sendStatusClass = 
"n2ntm-send-queued";
-                                                       SimpleFieldSet fs = new 
SimpleFieldSet();
-                                                       fs.put("type", 
Integer.toString(Node.N2N_TEXT_MESSAGE_TYPE_USERALERT));
-                                                       
fs.put("source_nodename", Base64.encode(node.getMyName().getBytes()));
-                                                       
fs.put("target_nodename", Base64.encode(pn.getName().getBytes()));
-                                                       fs.put("text", 
Base64.encode(message.getBytes()));
                                                        pn.queueN2NTM(fs);
                                                        Logger.normal(this, 
"Queued N2NTM to '"+pn.getName()+"': "+message);
                                                } else 
if(pn.getPeerNodeStatus() == Node.PEER_NODE_STATUS_ROUTING_BACKED_OFF) {


Reply via email to