gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r18097 - in gnunet-java: . src/org/gnunet/construct src/org


From: gnunet
Subject: [GNUnet-SVN] r18097 - in gnunet-java: . src/org/gnunet/construct src/org/gnunet/messages src/org/gnunet/util test/org/gnunet/util
Date: Thu, 10 Nov 2011 16:15:52 +0100

Author: grothoff
Date: 2011-11-10 16:15:52 +0100 (Thu, 10 Nov 2011)
New Revision: 18097

Added:
   gnunet-java/src/org/gnunet/construct/uint64_t.java
   gnunet-java/src/org/gnunet/messages/RelativeTimeNBO.java
Modified:
   gnunet-java/ISSUES
   gnunet-java/src/org/gnunet/messages/MessageHeader.java
   gnunet-java/src/org/gnunet/util/Configuration.java
   gnunet-java/src/org/gnunet/util/RelativeTime.java
   gnunet-java/test/org/gnunet/util/ConfigurationTest.java
Log:
stuff

Modified: gnunet-java/ISSUES
===================================================================
--- gnunet-java/ISSUES  2011-11-10 15:09:58 UTC (rev 18096)
+++ gnunet-java/ISSUES  2011-11-10 15:15:52 UTC (rev 18097)
@@ -37,8 +37,9 @@
 
 * process priority
 
+* signals:
+  http://www.ibm.com/developerworks/java/library/i-signalhandling/
 
-
 Used Libraries:
  * https://github.com/magnuss/java-bloomfilter (LGPL) => freeway!
  * http://code.google.com/p/junixsocket/ (Apache License 2.0)

Added: gnunet-java/src/org/gnunet/construct/uint64_t.java
===================================================================
--- gnunet-java/src/org/gnunet/construct/uint64_t.java                          
(rev 0)
+++ gnunet-java/src/org/gnunet/construct/uint64_t.java  2011-11-10 15:15:52 UTC 
(rev 18097)
@@ -0,0 +1,17 @@
+package org.gnunet.construct;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 16-bit @UnsignedInteger in network byte order.
+ * 
+ * @author grothoff
+ */
address@hidden(RetentionPolicy.RUNTIME)
address@hidden(ElementType.FIELD)
+public @interface uint64_t {
+
+}

Modified: gnunet-java/src/org/gnunet/messages/MessageHeader.java
===================================================================
--- gnunet-java/src/org/gnunet/messages/MessageHeader.java      2011-11-10 
15:09:58 UTC (rev 18096)
+++ gnunet-java/src/org/gnunet/messages/MessageHeader.java      2011-11-10 
15:15:52 UTC (rev 18097)
@@ -9,7 +9,8 @@
        @TotalSize
        public int size;
        
-       @uint16_t
-       public int type;
+    @uint16_t
+    public int type;
+
        
 }

Added: gnunet-java/src/org/gnunet/messages/RelativeTimeNBO.java
===================================================================
--- gnunet-java/src/org/gnunet/messages/RelativeTimeNBO.java                    
        (rev 0)
+++ gnunet-java/src/org/gnunet/messages/RelativeTimeNBO.java    2011-11-10 
15:15:52 UTC (rev 18097)
@@ -0,0 +1,18 @@
+package org.gnunet.messages;
+
+import org.gnunet.construct.uint64_t;
+
+public class RelativeTimeNBO {
+
+    /**
+     * Value__ still in Java-byte order, needs to be converted to Network byte 
order by the Construct class.
+     */
+    @uint64_t
+    public long value__;
+    
+    public RelativeTimeNBO (long value)
+    {
+        this.value__ = value;
+    }
+    
+}

Modified: gnunet-java/src/org/gnunet/util/Configuration.java
===================================================================
--- gnunet-java/src/org/gnunet/util/Configuration.java  2011-11-10 15:09:58 UTC 
(rev 18096)
+++ gnunet-java/src/org/gnunet/util/Configuration.java  2011-11-10 15:15:52 UTC 
(rev 18097)
@@ -16,9 +16,8 @@
      along with GNUnet; see the file COPYING.  If not, write to the
      Free Software Foundation, Inc., 59 Temple Place - Suite 330,
      Boston, MA 02111-1307, USA.
-*/
+ */
 
-
 package org.gnunet.util;
 
 import java.io.BufferedWriter;
@@ -52,15 +51,22 @@
     private static Pattern comment = Pattern.compile("\\s*[%#].*\n?");
     private static Pattern delim = Pattern.compile("\\s*\\n\\s*");
 
-    public Map<String, Map<String, String>> sections;
+    private final Map<String, Map<String, String>> sections = new 
LinkedHashMap<String, Map<String, String>>();
 
     /**
      * Start with an empty configuration.
      */
     public Configuration() {
-        sections = new LinkedHashMap<String, Map<String, String>>();
     }
 
+    private Configuration(Configuration c) {
+        sections.putAll(c.sections);
+    }
+
+    public Configuration clone() {
+        return new Configuration(this);
+    }
+
     /**
      * Parse a configuration file, add all of the options in the file to the
      * configuration environment.
@@ -194,18 +200,18 @@
      * @param option
      * @return null if value not in configuration, the option's value otherwise
      */
-    public Long getValueNumer(String section, String option) {
+    public long getValueNumer(String section, String option) {
         String num_str = getValueString(section, option);
         if (num_str == null) {
-            return null;
+            throw new ParsingError ("Failure in configuration section " + 
section + " option " + option + ": value empty");
         }
         try {
             return Long.parseLong(num_str);
         } catch (NumberFormatException e) {
-            return null;
+            throw new ParsingError ("Failure in configuration section " + 
section + " option " + option + ": " + e.getMessage(), e);
         }
     }
-
+    
     /**
      * Set an option to a string value in a section.
      * 
@@ -320,6 +326,7 @@
         return sections.keySet();
     }
 
+   
     /**
      * Expand an expression of the form "$FOO/BAR" to "DIRECTORY/BAR" where
      * either in the "PATHS" section or the environment "FOO" is set to
@@ -362,4 +369,19 @@
         throw new UnsupportedOperationException();
     }
 
+
+    public static class ParsingError extends Error
+    {
+        ParsingError (String msg, Throwable t)
+        {
+            super(msg, t);
+        }
+        ParsingError (String msg)
+        {
+            super(msg);
+        }
+    }
+
+    
 }
+

Modified: gnunet-java/src/org/gnunet/util/RelativeTime.java
===================================================================
--- gnunet-java/src/org/gnunet/util/RelativeTime.java   2011-11-10 15:09:58 UTC 
(rev 18096)
+++ gnunet-java/src/org/gnunet/util/RelativeTime.java   2011-11-10 15:15:52 UTC 
(rev 18097)
@@ -21,6 +21,7 @@
 
 package org.gnunet.util;
 
+import org.gnunet.messages.RelativeTimeNBO;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -143,6 +144,15 @@
         }
         return new RelativeTime(new_rel_value);
     }
+       
+    public RelativeTimeNBO toNBO()
+    {
+        long rval = this.rel_value;
+        assert (rval >= 0);
+        if (rval == FOREVER.rel_value)
+            rval = -1L; /* 0xFFFFFFFFFFFFFFFF for network format! */
+        return new RelativeTimeNBO(rval);
+    }
 
     /**
      * Subtract relative timestamp from the other.

Modified: gnunet-java/test/org/gnunet/util/ConfigurationTest.java
===================================================================
--- gnunet-java/test/org/gnunet/util/ConfigurationTest.java     2011-11-10 
15:09:58 UTC (rev 18096)
+++ gnunet-java/test/org/gnunet/util/ConfigurationTest.java     2011-11-10 
15:15:52 UTC (rev 18097)
@@ -17,7 +17,7 @@
         
         // TODO: check results
         
-        System.out.println(c.sections);
+        // System.out.println(c.sections);
         
     }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]