Although I retained 'Flags=' for backwards compatability, the "RemoveLocalKey"
field is now in place.  Increased Readability = Good.

Is there a way to get a boolean from otherFields.get() ?  That'd seem
to be more correct.

If anyone has any objections to the names I've used, let me know, otherwise
I'll commit this and get rid of that ugly-ass binary flags field.

--Dan



Index: src/freenet/message/client/ClientRequest.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/message/client/ClientRequest.java,v
retrieving revision 1.2
diff -u -r1.2 ClientRequest.java
--- src/freenet/message/client/ClientRequest.java       7 May 2002 20:50:48 -0000      
 1.2
+++ src/freenet/message/client/ClientRequest.java       29 May 2002 23:36:17 -0000
@@ -13,7 +13,7 @@
 
     protected FreenetURI uri;
     protected final int hopsToLive;
-    protected int flags;
+    protected boolean RemoveLocal;
 
     public ClientRequest(ConnectionHandler source, RawMessage raw) {
         this(source, raw, false);
@@ -22,15 +22,21 @@
     public ClientRequest(ConnectionHandler source, RawMessage raw, boolean getData) {
         super(source, raw, getData);
         int htl = -1;
+        RemoveLocal = false;
         try {
             uri = new FreenetURI(otherFields.get("URI"));
             otherFields.remove("URI");
             htl = Integer.parseInt(otherFields.get("HopsToLive"), 16);
             otherFields.remove("HopsToLive");
             if (otherFields.containsKey("Flags")) {
-               flags = Integer.parseInt(otherFields.get("Flags"), 16);
+               int flags=Integer.parseInt(otherFields.get("Flags"), 16);
+               if ((flags&1)>0)
+                    RemoveLocal = true;
+                else
+                    RemoveLocal = false;
             }
-            else flags = 0;
+            if (otherFields.containsKey("RemoveLocalKey"))
+                RemoveLocal = true;
         }
         catch (Exception e) {
             formatError = true;
@@ -50,8 +56,8 @@
         return hopsToLive;
     }
     
-    public int getFlags() {
-       return flags;
+    public boolean getRemoveLocal() {
+       return RemoveLocal;
     }
 }
 
Index: src/freenet/node/states/FCP/NewClientGet.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/states/FCP/NewClientGet.java,v
retrieving revision 1.3
diff -u -r1.3 NewClientGet.java
--- src/freenet/node/states/FCP/NewClientGet.java       7 May 2002 20:50:49 -0000      
 1.3
+++ src/freenet/node/states/FCP/NewClientGet.java       29 May 2002 23:36:17 -0000
@@ -40,8 +40,7 @@
                 AbstractClientKey.createFromRequestURI(cgmo.getURI());
             Key k = ckey.getKey();
             if (k == null) throw new KeyException("got null Key");
-            int flags = cgmo.getFlags();
-            if ((flags&1)>0) {
+            if (cgmo.getRemoveLocal()) {
                if (n.ds.contains(k)) {
                        n.ds.remove(k);
                }
Index: src/freenet/node/states/FCP/NewClientPut.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/node/states/FCP/NewClientPut.java,v
retrieving revision 1.3
diff -u -r1.3 NewClientPut.java
--- src/freenet/node/states/FCP/NewClientPut.java       7 May 2002 20:50:49 -0000      
 1.3
+++ src/freenet/node/states/FCP/NewClientPut.java       29 May 2002 23:36:17 -0000
@@ -73,8 +73,7 @@
                 ctBucket = n.bf.makeBucket(tmpLen);
                 ctStream = new FreeBucketInputStream(ckey.encode(data, mlen, 
ctBucket),
                                                      n.bf, ctBucket);
-                int flags = cpmo.getFlags();
-                if ((flags&1)>0) {
+                if (cpmo.getRemoveLocal()) {
                        Key bkey = ckey.getKey();
                        if (n.ds.contains(bkey)) {
                                n.ds.remove(bkey);


_______________________________________________
devl mailing list
[EMAIL PROTECTED]
http://hawk.freenetproject.org/cgi-bin/mailman/listinfo/devl

Reply via email to