From 96ed7abdc584da30f3ab551bdd694334f076b091 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 31 Oct 2012 15:52:12 +0000
Subject: [PATCH] javadoc, final, private, volatile

---
 core/java/src/net/i2p/client/I2PClient.java   |  3 +
 .../src/net/i2p/client/I2PClientImpl.java     |  8 ++-
 .../src/net/i2p/client/I2PSessionImpl.java    |  6 +-
 .../src/net/i2p/crypto/CryptixAESEngine.java  |  1 +
 .../i2p/crypto/CryptixRijndael_Algorithm.java | 66 +++++++++----------
 5 files changed, 46 insertions(+), 38 deletions(-)

diff --git a/core/java/src/net/i2p/client/I2PClient.java b/core/java/src/net/i2p/client/I2PClient.java
index 6521cf258f..d0f4ac0500 100644
--- a/core/java/src/net/i2p/client/I2PClient.java
+++ b/core/java/src/net/i2p/client/I2PClient.java
@@ -21,6 +21,9 @@ import net.i2p.data.Destination;
 /**
  * Define the standard means of interacting with the I2P system
  *
+ * An I2PClient contains no state, it is just a facility for creating private key files
+ * and generating sesssions from existing private key files.
+ *
  * @author jrandom
  */
 public interface I2PClient {
diff --git a/core/java/src/net/i2p/client/I2PClientImpl.java b/core/java/src/net/i2p/client/I2PClientImpl.java
index 23033dbf0f..932daa61a5 100644
--- a/core/java/src/net/i2p/client/I2PClientImpl.java
+++ b/core/java/src/net/i2p/client/I2PClientImpl.java
@@ -25,14 +25,18 @@ import net.i2p.data.SigningPrivateKey;
 import net.i2p.data.SigningPublicKey;
 
 /**
- * Base client implementation
+ * Base client implementation.
+ * An I2PClient contains no state, it is just a facility for creating private key files
+ * and generating sesssions from existing private key files.
  *
  * @author jrandom
  */
 class I2PClientImpl implements I2PClient {
 
     /**
-     * Create the destination with a null payload
+     * Create the destination with a null payload.
+     * This is not bound to the I2PClient, you must supply the data back again
+     * in createSession().
      *
      * @param destKeyStream location to write out the destination, PrivateKey, and SigningPrivateKey,
      *                      format is specified in {@link net.i2p.data.PrivateKeyFile PrivateKeyFile}
diff --git a/core/java/src/net/i2p/client/I2PSessionImpl.java b/core/java/src/net/i2p/client/I2PSessionImpl.java
index 69fc300788..010092cfd6 100644
--- a/core/java/src/net/i2p/client/I2PSessionImpl.java
+++ b/core/java/src/net/i2p/client/I2PSessionImpl.java
@@ -515,9 +515,9 @@ abstract class I2PSessionImpl implements I2PSession, I2CPMessageReader.I2CPMessa
      *  Needs work.
      */
     protected class AvailabilityNotifier implements Runnable {
-        private List _pendingIds;
-        private List _pendingSizes;
-        private boolean _alive;
+        private final List _pendingIds;
+        private final List _pendingSizes;
+        private volatile boolean _alive;
  
         public AvailabilityNotifier() {
             _pendingIds = new ArrayList(2);
diff --git a/core/java/src/net/i2p/crypto/CryptixAESEngine.java b/core/java/src/net/i2p/crypto/CryptixAESEngine.java
index 6d8e0da075..9836e7c403 100644
--- a/core/java/src/net/i2p/crypto/CryptixAESEngine.java
+++ b/core/java/src/net/i2p/crypto/CryptixAESEngine.java
@@ -61,6 +61,7 @@ public class CryptixAESEngine extends AESEngine {
     }
 ****/
 
+    /** */
     public CryptixAESEngine(I2PAppContext context) {
         super(context);
         //_cache = new CryptixAESKeyCache();
diff --git a/core/java/src/net/i2p/crypto/CryptixRijndael_Algorithm.java b/core/java/src/net/i2p/crypto/CryptixRijndael_Algorithm.java
index 02a11431fa..f36d7753b6 100644
--- a/core/java/src/net/i2p/crypto/CryptixRijndael_Algorithm.java
+++ b/core/java/src/net/i2p/crypto/CryptixRijndael_Algorithm.java
@@ -32,53 +32,53 @@ public final class CryptixRijndael_Algorithm // implicit no-argument constructor
     // Debugging methods and variables
     //...........................................................................
 
-    static final String _NAME = "Rijndael_Algorithm";
-    static final boolean _IN = true, _OUT = false;
+    private static final String _NAME = "Rijndael_Algorithm";
+    private static final boolean _IN = true, _OUT = false;
 
-    static final boolean _RDEBUG = false;
-    static final int _debuglevel = 0; // RDEBUG ? Rijndael_Properties.getLevel(NAME): 0;
+    private static final boolean _RDEBUG = false;
+    private static final int _debuglevel = 0; // RDEBUG ? Rijndael_Properties.getLevel(NAME): 0;
     //    static final PrintWriter err = RDEBUG ? Rijndael_Properties.getOutput() : null;
-    static final PrintWriter _err = new PrintWriter(new java.io.OutputStreamWriter(System.err));
+    private static final PrintWriter _err = new PrintWriter(new java.io.OutputStreamWriter(System.err));
 
-    static final boolean _TRACE = false; // Rijndael_Properties.isTraceable(NAME);
+    private static final boolean _TRACE = false; // Rijndael_Properties.isTraceable(NAME);
 
-    static void debug(String s) {
+    private static void debug(String s) {
         _err.println(">>> " + _NAME + ": " + s);
     }
 
-    static void trace(boolean in, String s) {
+    private static void trace(boolean in, String s) {
         if (_TRACE) _err.println((in ? "==> " : "<== ") + _NAME + "." + s);
     }
 
-    static void trace(String s) {
+    private static void trace(String s) {
         if (_TRACE) _err.println("<=> " + _NAME + "." + s);
     }
 
     // Constants and variables
     //...........................................................................
 
-    static final int _BLOCK_SIZE = 16; // default block size in bytes
-
-    static final int[] _alog = new int[256];
-    static final int[] _log = new int[256];
-
-    static final byte[] _S = new byte[256];
-    static final byte[] _Si = new byte[256];
-    static final int[] _T1 = new int[256];
-    static final int[] _T2 = new int[256];
-    static final int[] _T3 = new int[256];
-    static final int[] _T4 = new int[256];
-    static final int[] _T5 = new int[256];
-    static final int[] _T6 = new int[256];
-    static final int[] _T7 = new int[256];
-    static final int[] _T8 = new int[256];
-    static final int[] _U1 = new int[256];
-    static final int[] _U2 = new int[256];
-    static final int[] _U3 = new int[256];
-    static final int[] _U4 = new int[256];
-    static final byte[] _rcon = new byte[30];
-
-    static final int[][][] _shifts = new int[][][] { { { 0, 0}, { 1, 3}, { 2, 2}, { 3, 1}},
+    private static final int _BLOCK_SIZE = 16; // default block size in bytes
+
+    private static final int[] _alog = new int[256];
+    private static final int[] _log = new int[256];
+
+    private static final byte[] _S = new byte[256];
+    private static final byte[] _Si = new byte[256];
+    private static final int[] _T1 = new int[256];
+    private static final int[] _T2 = new int[256];
+    private static final int[] _T3 = new int[256];
+    private static final int[] _T4 = new int[256];
+    private static final int[] _T5 = new int[256];
+    private static final int[] _T6 = new int[256];
+    private static final int[] _T7 = new int[256];
+    private static final int[] _T8 = new int[256];
+    private static final int[] _U1 = new int[256];
+    private static final int[] _U2 = new int[256];
+    private static final int[] _U3 = new int[256];
+    private static final int[] _U4 = new int[256];
+    private static final byte[] _rcon = new byte[30];
+
+    private static final int[][][] _shifts = new int[][][] { { { 0, 0}, { 1, 3}, { 2, 2}, { 3, 1}},
                                                     { { 0, 0}, { 1, 5}, { 2, 4}, { 3, 3}},
                                                     { { 0, 0}, { 1, 7}, { 3, 5}, { 4, 4}}};
 
@@ -344,12 +344,12 @@ public final class CryptixRijndael_Algorithm // implicit no-argument constructor
     }
 
     // multiply two elements of GF(2^m)
-    static final int mul(int a, int b) {
+    private static final int mul(int a, int b) {
         return (a != 0 && b != 0) ? _alog[(_log[a & 0xFF] + _log[b & 0xFF]) % 255] : 0;
     }
 
     // convenience method used in generating Transposition boxes
-    static final int mul4(int a, byte[] b) {
+    private static final int mul4(int a, byte[] b) {
         if (a == 0) return 0;
         a = _log[a & 0xFF];
         int a0 = (b[0] != 0) ? _alog[(a + _log[b[0] & 0xFF]) % 255] & 0xFF : 0;
-- 
GitLab