From 88e5620001d65afa8d0d8e07d1361fa44705743e Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Fri, 11 May 2007 13:19:28 +0000
Subject: [PATCH] This code allows the replication code to replay operation in the correct order when operation have dependencies (like adding child entry after parent)
---
opends/src/server/org/opends/server/replication/common/ServerState.java | 21 +++++++++++++++++++++
1 files changed, 21 insertions(+), 0 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 b7e64d0..38fd50d 100644
--- a/opends/src/server/org/opends/server/replication/common/ServerState.java
+++ b/opends/src/server/org/opends/server/replication/common/ServerState.java
@@ -304,4 +304,25 @@
{
return list.keySet().iterator();
}
+
+ /**
+ * Check that all the ChangeNumbers in the covered serverState are also in
+ * this serverState.
+ *
+ * @param covered The ServerState that needs to be checked.
+ * @return A boolean indicating if this ServerState covers the ServerState
+ * given in parameter.
+ */
+ public boolean cover(ServerState covered)
+ {
+ for (ChangeNumber coveredChange : covered.list.values())
+ {
+ ChangeNumber change = this.list.get(coveredChange.getServerId());
+ if ((change == null) || (change.older(coveredChange)))
+ {
+ return false;
+ }
+ }
+ return true;
+ }
}
--
Gitblit v1.10.0