Update of /cvsroot/freenet/freenet/src/freenet
In directory sc8-pr-cvs1:/tmp/cvs-serv23607

Modified Files:
        DSAIdentity.java 
Log Message:
Compute hash code only once and save it in object.

Index: DSAIdentity.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/DSAIdentity.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- DSAIdentity.java    6 Jul 2003 17:14:09 -0000       1.2
+++ DSAIdentity.java    24 Sep 2003 01:21:32 -0000      1.3
@@ -1,3 +1,4 @@
+/* -*- Mode: java; c-basic-indent: 4; tab-width: 4 -*- */
 package freenet;
 
 import freenet.crypt.*;
@@ -13,6 +14,7 @@
   * @author tavin
   */
 public class DSAIdentity extends DSAPublicKey implements Identity {
+    private final int hashed;
 
     /**
      * Create a DSAIdentity
@@ -21,6 +23,7 @@
      */
     public DSAIdentity(DSAGroup g, DSAAuthentity x) {
         super(g, x);
+               hashed = makeHashCode();
     }
 
     /**
@@ -30,6 +33,7 @@
      */
     public DSAIdentity(DSAGroup g, BigInteger y) {
         super(g, y);
+               hashed = makeHashCode();
     }
     
        /**
@@ -39,6 +43,7 @@
         */
        public DSAIdentity(DSAGroup g, String yAsHexString) {
                super(g, yAsHexString);
+               hashed = makeHashCode();
        }
 
     // FIXME: eliminate this constructor
@@ -47,6 +52,7 @@
                Global.DSAgroupC : 
                (DSAGroup) DSAGroup.readFromField(grp)),
               value);
+               hashed = makeHashCode();
     }
 
     /**
@@ -55,6 +61,7 @@
      */
     public DSAIdentity(FieldSet fs) throws NumberFormatException {
         this(getGroup(fs), getYasHexString(fs));
+               hashed = makeHashCode();
     }
     
        
@@ -127,9 +134,13 @@
     }
     
     public final int hashCode() {
-        return getY().shiftRight(getY().bitLength()-32).intValue();
+               return hashed;
     }
     
+       private final int makeHashCode() {
+        return getY().shiftRight(getY().bitLength()-32).intValue();
+       }
+
     public final int compareTo(Object o) {
         if (o == null)
             return 1;

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

Reply via email to