From 3b742c9f76118dfd717af0fa9a219e530c9f3fa3 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 02 Jul 2013 10:08:31 +0000
Subject: [PATCH] ServerState.java: Renamed the lastCnSeenPerServerId to serverIdToChangeNumber + changed the javadocs after a comment by Ludo.

---
 opends/src/server/org/opends/server/replication/common/ServerState.java |  161 ++++++++++++++++++++++++++---------------------------
 1 files changed, 79 insertions(+), 82 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/common/ServerState.java b/opends/src/server/org/opends/server/replication/common/ServerState.java
index d5ad4d3..d814e1e 100644
--- a/opends/src/server/org/opends/server/replication/common/ServerState.java
+++ b/opends/src/server/org/opends/server/replication/common/ServerState.java
@@ -37,20 +37,17 @@
 import org.opends.server.types.ByteString;
 
 /**
- * ServerState class.
- * This object is used to store the last update seen on this server
- * from each server.
- * It is exchanged with the replication servers at connection establishment
- * time.
+ * This class is used to associate serverIds with ChangeNumbers.
+ * <p>
+ * For example, it is exchanged with the replication servers at connection
+ * establishment time to communicate
+ * "which ChangeNumbers last seen by a serverId"
  */
 public class ServerState implements Iterable<Integer>
 {
 
-  /**
-   * Contains what the current server knows about the last ChangeNumber seen for
-   * each serverId.
-   */
-  private final Map<Integer, ChangeNumber> lastCnSeenPerServerId;
+  /** Associates a serverId with a ChangeNumber. */
+  private final Map<Integer, ChangeNumber> serverIdToChangeNumber;
   /**
    * Whether the state has been saved to persistent storage. It starts at true,
    * and moves to false when an update is made to the current object.
@@ -62,7 +59,7 @@
    */
   public ServerState()
   {
-    lastCnSeenPerServerId = new HashMap<Integer, ChangeNumber>();
+    serverIdToChangeNumber = new HashMap<Integer, ChangeNumber>();
   }
 
   /**
@@ -72,9 +69,9 @@
    */
   public void clear()
   {
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      lastCnSeenPerServerId.clear();
+      serverIdToChangeNumber.clear();
     }
   }
 
@@ -94,30 +91,24 @@
   {
     try
     {
-      lastCnSeenPerServerId = new HashMap<Integer, ChangeNumber>();
+      serverIdToChangeNumber = new HashMap<Integer, ChangeNumber>();
 
       while (endpos > pos)
       {
-        /*
-         * read the ServerId
-         */
+        // read the ServerId
         int length = getNextLength(in, pos);
         String serverIdString = new String(in, pos, length, "UTF-8");
         int serverId = Integer.valueOf(serverIdString);
         pos += length +1;
 
-        /*
-         * read the ChangeNumber
-         */
+        // read the ChangeNumber
         length = getNextLength(in, pos);
         String cnString = new String(in, pos, length, "UTF-8");
         ChangeNumber cn = new ChangeNumber(cnString);
         pos += length +1;
 
-        /*
-         * Add the serverid
-         */
-        lastCnSeenPerServerId.put(serverId, cn);
+        // Add the serverid
+        serverIdToChangeNumber.put(serverId, cn);
       }
 
     } catch (UnsupportedEncodingException e)
@@ -163,13 +154,13 @@
 
     saved = false;
 
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      int id =  changeNumber.getServerId();
-      ChangeNumber oldCN = lastCnSeenPerServerId.get(id);
+      int serverId = changeNumber.getServerId();
+      ChangeNumber oldCN = serverIdToChangeNumber.get(serverId);
       if (oldCN == null || changeNumber.newer(oldCN))
       {
-        lastCnSeenPerServerId.put(id, changeNumber);
+        serverIdToChangeNumber.put(serverId, changeNumber);
         return true;
       }
       return false;
@@ -192,7 +183,7 @@
 
     boolean updated = false;
 
-    for (ChangeNumber cn : serverState.lastCnSeenPerServerId.values())
+    for (ChangeNumber cn : serverState.serverIdToChangeNumber.values())
     {
       if (update(cn))
       {
@@ -217,11 +208,12 @@
 
     boolean result = false;
 
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
       clear();
-      for (Integer id : serverState) {
-        ChangeNumber maxChangeNumber = serverState.getMaxChangeNumber(id);
+      for (Integer serverId : serverState)
+      {
+        ChangeNumber maxChangeNumber = serverState.getMaxChangeNumber(serverId);
         if (update(maxChangeNumber))
         {
           result = true;
@@ -247,11 +239,11 @@
   {
     Set<String> set = new HashSet<String>();
 
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      for (int key : lastCnSeenPerServerId.keySet())
+      for (int key : serverIdToChangeNumber.keySet())
       {
-        ChangeNumber change = lastCnSeenPerServerId.get(key);
+        ChangeNumber change = serverIdToChangeNumber.get(key);
         Date date = new Date(change.getTime());
         set.add(change + " " + date + " " + change.getTime());
       }
@@ -270,12 +262,12 @@
   {
     ArrayList<ByteString> values = new ArrayList<ByteString>(0);
 
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      for (int id : lastCnSeenPerServerId.keySet())
+      for (int serverId : serverIdToChangeNumber.keySet())
       {
         ByteString value =
-            ByteString.valueOf(lastCnSeenPerServerId.get(id).toString());
+            ByteString.valueOf(serverIdToChangeNumber.get(serverId).toString());
         values.add(value);
       }
     }
@@ -297,18 +289,18 @@
   public void writeTo(ASN1Writer writer, short protocolVersion)
       throws IOException
   {
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
       if (protocolVersion >= ProtocolVersion.REPLICATION_PROTOCOL_V7)
       {
-        for (ChangeNumber cn : lastCnSeenPerServerId.values())
+        for (ChangeNumber cn : serverIdToChangeNumber.values())
         {
           writer.writeOctetString(cn.toByteString());
         }
       }
       else
       {
-        for (ChangeNumber cn : lastCnSeenPerServerId.values())
+        for (ChangeNumber cn : serverIdToChangeNumber.values())
         {
           writer.writeOctetString(cn.toString());
         }
@@ -325,15 +317,15 @@
   {
     StringBuilder buffer = new StringBuilder();
 
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      for (int key : lastCnSeenPerServerId.keySet())
+      for (int key : serverIdToChangeNumber.keySet())
       {
-        ChangeNumber change = lastCnSeenPerServerId.get(key);
+        ChangeNumber change = serverIdToChangeNumber.get(key);
         buffer.append(change.toString());
         buffer.append(" ");
       }
-      if (!lastCnSeenPerServerId.isEmpty())
+      if (!serverIdToChangeNumber.isEmpty())
         buffer.deleteCharAt(buffer.length() - 1);
     }
 
@@ -348,7 +340,7 @@
    */
   public ChangeNumber getMaxChangeNumber(int serverId2)
   {
-    return lastCnSeenPerServerId.get(serverId2);
+    return serverIdToChangeNumber.get(serverId2);
   }
 
   /**
@@ -359,11 +351,11 @@
   {
     ChangeNumber maxCN = null;
 
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      for (int id : lastCnSeenPerServerId.keySet())
+      for (int serverId : serverIdToChangeNumber.keySet())
       {
-        ChangeNumber tmpMax = lastCnSeenPerServerId.get(id);
+        ChangeNumber tmpMax = serverIdToChangeNumber.get(serverId);
         if ((maxCN==null) || (tmpMax.newer(maxCN)))
           maxCN = tmpMax;
       }
@@ -392,18 +384,20 @@
    */
   public byte[] getBytes() throws UnsupportedEncodingException
   {
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
       int length = 0;
-      List<String> idList = new ArrayList<String>(lastCnSeenPerServerId.size());
-      for (int id : lastCnSeenPerServerId.keySet())
+      List<String> idList =
+          new ArrayList<String>(serverIdToChangeNumber.size());
+      for (int serverId : serverIdToChangeNumber.keySet())
       {
-        String temp = String.valueOf(id);
+        String temp = String.valueOf(serverId);
         idList.add(temp);
         length += temp.length() + 1;
       }
-      List<String> cnList = new ArrayList<String>(lastCnSeenPerServerId.size());
-      for (ChangeNumber cn : lastCnSeenPerServerId.values())
+      List<String> cnList =
+          new ArrayList<String>(serverIdToChangeNumber.size());
+      for (ChangeNumber cn : serverIdToChangeNumber.values())
       {
         String temp = cn.toString();
         cnList.add(temp);
@@ -412,7 +406,7 @@
       byte[] result = new byte[length];
 
       int pos = 0;
-      for (int i = 0; i < lastCnSeenPerServerId.size(); i++)
+      for (int i = 0; i < serverIdToChangeNumber.size(); i++)
       {
         String str = idList.get(i);
         pos = addByteArray(str.getBytes("UTF-8"), result, pos);
@@ -429,7 +423,7 @@
   @Override
   public Iterator<Integer> iterator()
   {
-    return lastCnSeenPerServerId.keySet().iterator();
+    return serverIdToChangeNumber.keySet().iterator();
   }
 
   /**
@@ -442,10 +436,10 @@
    */
   public boolean cover(ServerState covered)
   {
-    for (ChangeNumber coveredChange : covered.lastCnSeenPerServerId.values())
+    for (ChangeNumber coveredChange : covered.serverIdToChangeNumber.values())
     {
       ChangeNumber change =
-          this.lastCnSeenPerServerId.get(coveredChange.getServerId());
+          this.serverIdToChangeNumber.get(coveredChange.getServerId());
       if ((change == null) || (change.older(coveredChange)))
       {
         return false;
@@ -463,7 +457,8 @@
    */
   public boolean cover(ChangeNumber covered)
   {
-    ChangeNumber change = this.lastCnSeenPerServerId.get(covered.getServerId());
+    ChangeNumber change =
+        this.serverIdToChangeNumber.get(covered.getServerId());
     return !((change == null) || (change.older(covered)));
   }
 
@@ -474,7 +469,7 @@
    */
   public boolean isEmpty()
   {
-    return lastCnSeenPerServerId.isEmpty();
+    return serverIdToChangeNumber.isEmpty();
   }
 
   /**
@@ -484,13 +479,13 @@
   public ServerState duplicate()
   {
     ServerState newState = new ServerState();
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      for (Integer key : lastCnSeenPerServerId.keySet())
+      for (Integer key : serverIdToChangeNumber.keySet())
       {
-        ChangeNumber change = lastCnSeenPerServerId.get(key);
-        Integer id =  change.getServerId();
-        newState.lastCnSeenPerServerId.put(id, change);
+        ChangeNumber change = serverIdToChangeNumber.get(key);
+        Integer serverId = change.getServerId();
+        newState.serverIdToChangeNumber.put(serverId, change);
       }
     }
     return newState;
@@ -508,16 +503,18 @@
   public static int diffChanges(ServerState ss1, ServerState ss2)
     throws  IllegalArgumentException
   {
-     if ( (ss1 == null) || (ss2 == null) )
+    if ((ss1 == null) || (ss2 == null))
+    {
       throw new IllegalArgumentException("Null server state(s)");
+    }
 
-     int diff = 0;
-     for (Integer serverId : ss1.lastCnSeenPerServerId.keySet())
-     {
-       ChangeNumber cn1 = ss1.lastCnSeenPerServerId.get(serverId);
-       if (cn1 != null)
-       {
-         ChangeNumber cn2 = ss2.lastCnSeenPerServerId.get(serverId);
+    int diff = 0;
+    for (Integer serverId : ss1.serverIdToChangeNumber.keySet())
+    {
+      ChangeNumber cn1 = ss1.serverIdToChangeNumber.get(serverId);
+      if (cn1 != null)
+      {
+        ChangeNumber cn2 = ss2.serverIdToChangeNumber.get(serverId);
          if (cn2 != null)
          {
            diff += ChangeNumber.diffSeqNum(cn1, cn2);
@@ -527,10 +524,10 @@
            // compared to server holding ss2, add this amount
            diff += cn1.getSeqnum();
          }
-       }
-     }
+      }
+    }
 
-     return diff;
+    return diff;
   }
 
   /**
@@ -564,15 +561,15 @@
   public ServerState duplicateOnlyOlderThan(ChangeNumber cn)
   {
     ServerState newState = new ServerState();
-    synchronized (lastCnSeenPerServerId)
+    synchronized (serverIdToChangeNumber)
     {
-      for (Integer key : lastCnSeenPerServerId.keySet())
+      for (Integer key : serverIdToChangeNumber.keySet())
       {
-        ChangeNumber change = lastCnSeenPerServerId.get(key);
-        Integer id =  change.getServerId();
+        ChangeNumber change = serverIdToChangeNumber.get(key);
+        Integer serverId = change.getServerId();
         if (change.older(cn))
         {
-          newState.lastCnSeenPerServerId.put(id, change);
+          newState.serverIdToChangeNumber.put(serverId, change);
         }
       }
     }

--
Gitblit v1.10.0