From 0107a1af4a4325c502fe2632c7d0f4dcf3da98ba Mon Sep 17 00:00:00 2001
From: mrossign <mrossign@localhost>
Date: Tue, 16 Dec 2008 17:03:47 +0000
Subject: [PATCH] Assured Replication: - all unit tests for safe data mode - assured replication code corrections (thanks to safe data unit tests) => Still every unit tests for safe read mode to do...

---
 opendj-sdk/opends/src/server/org/opends/server/replication/server/ExpectedAcksInfo.java |   23 ++++++++++++++++++++++-
 1 files changed, 22 insertions(+), 1 deletions(-)

diff --git a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ExpectedAcksInfo.java b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ExpectedAcksInfo.java
index 296e499..f81adda 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/replication/server/ExpectedAcksInfo.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/replication/server/ExpectedAcksInfo.java
@@ -27,6 +27,9 @@
 
 package org.opends.server.replication.server;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import org.opends.server.replication.common.AssuredMode;
 import org.opends.server.replication.common.ChangeNumber;
 import org.opends.server.replication.protocol.AckMsg;
@@ -66,18 +69,36 @@
   private boolean completed = false;
 
   /**
+   * This gives the list of servers we are willing to wait acks from and the
+   * information about the ack from the servers.
+   * key: the id of the server.
+   * value: a boolean true if we received the ack from the server,
+   * false otherwise.
+   */
+  protected Map<Short,Boolean> expectedServersAckStatus =
+    new HashMap<Short,Boolean>();
+
+  /**
    * Creates a new ExpectedAcksInfo.
    * @param changeNumber The change number of the assured update message
    * @param requesterServerHandler The server handler of the server that sent
    * the assured update message
    * @param assuredMode The assured mode requested by the assured update message
+   * @param expectedServers The list of servers we want an ack from
    */
   protected ExpectedAcksInfo(ChangeNumber changeNumber,
-    ServerHandler requesterServerHandler, AssuredMode assuredMode)
+    ServerHandler requesterServerHandler, AssuredMode assuredMode,
+    List<Short> expectedServers)
   {
     this.requesterServerHandler = requesterServerHandler;
     this.assuredMode = assuredMode;
     this.changeNumber = changeNumber;
+
+    // Initialize list of servers we expect acks from
+    for (Short serverId : expectedServers)
+    {
+      expectedServersAckStatus.put(serverId, false);
+    }
   }
 
   /**

--
Gitblit v1.10.0