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) {