Author: toad
Date: 2007-11-30 20:33:08 +0000 (Fri, 30 Nov 2007)
New Revision: 16150
Modified:
trunk/freenet/src/freenet/io/comm/DMT.java
Log:
Announcement messages.
Only two are needed afaics.
Modified: trunk/freenet/src/freenet/io/comm/DMT.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/DMT.java 2007-11-30 20:29:55 UTC (rev
16149)
+++ trunk/freenet/src/freenet/io/comm/DMT.java 2007-11-30 20:33:08 UTC (rev
16150)
@@ -776,6 +776,52 @@
return msg;
}
+ // Opennet announcement
+
+ /**
+ * Announcement request. Noderef is attached, will be transferred
before anything else is done.
+ */
+ public static MessageType FNPOpennetAnnounceRequest = new
MessageType("FNPOpennetAnnounceRequest") {{
+ addField(UID, Long.class);
+ addField(TRANSFER_UID, Long.class);
+ addField(NODEREF_LENGTH, Integer.class);
+ addField(PADDED_LENGTH, Integer.class);
+ addField(HTL, Short.class);
+ addField(NEAREST_LOCATION, Double.class);
+ }};
+
+ public static Message createFNPOpennetAnnounceRequest(long uid, long
transferUID, int noderefLength, int paddedLength, short htl, double
nearestLocSoFar) {
+ Message msg = new Message(FNPOpennetAnnounceRequest);
+ msg.set(UID, uid);
+ msg.set(TRANSFER_UID, transferUID);
+ msg.set(NODEREF_LENGTH, noderefLength);
+ msg.set(PADDED_LENGTH, paddedLength);
+ msg.set(HTL, htl);
+ msg.set(NEAREST_LOCATION, nearestLocSoFar);
+ return msg;
+ }
+
+ /**
+ * Announcement reply. Noderef is attached, will be transferred, both
nodes add the other. A single
+ * request will result in many reply's. When the announcement is done,
we return a DataNotFound; if
+ * we run into a dead-end, we return a RejectedLoop; if we can't accept
it, RejectedOverload.
+ */
+ public static MessageType FNPOpennetAnnounceReply = new
MessageType("FNPOpennetAnnounceReply") {{
+ addField(UID, Long.class);
+ addField(TRANSFER_UID, Long.class);
+ addField(NODEREF_LENGTH, Integer.class);
+ addField(PADDED_LENGTH, Integer.class);
+ }};
+
+ public static Message createFNPOpennetAnnounceReply(long uid, long
transferUID, int noderefLength, int paddedLength) {
+ Message msg = new Message(FNPOpennetAnnounceReply);
+ msg.set(UID, uid);
+ msg.set(TRANSFER_UID, transferUID);
+ msg.set(NODEREF_LENGTH, noderefLength);
+ msg.set(PADDED_LENGTH, paddedLength);
+ return msg;
+ }
+
// Key offers (ULPRs)
public static MessageType FNPOfferKey = new MessageType("FNPOfferKey")
{{