From c5135432faf9bbbcd496ea160d59755fba31012c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 21 Nov 2013 16:17:00 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1174 Transfer responsibility for populating the ChangeNumberIndexDB to ChangelogDB 

---
 opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java b/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
index 39c637e..b92dc07 100644
--- a/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
+++ b/opends/src/server/org/opends/server/replication/server/changelog/api/ReplicationDomainDB.java
@@ -210,6 +210,31 @@
       ServerState startAfterServerState) throws ChangelogException;
 
   /**
+   * Generates a {@link DBCursor} for one replicaDB for the specified
+   * replication domain and serverId starting after the provided {@link CSN}.
+   * <p>
+   * The cursor is already advanced to the records after the CSN.
+   * <p>
+   * When the cursor is not used anymore, client code MUST call the
+   * {@link DBCursor#close()} method to free the resources and locks used by the
+   * cursor.
+   *
+   * @param baseDN
+   *          the replication domain baseDN of the replicaDB
+   * @param serverId
+   *          the serverId of the replicaDB
+   * @param startAfterCSN
+   *          Starting point for the ReplicaDB cursor. If the CSN is null, then
+   *          start from the oldest CSN for this replicaDB
+   * @return a non null {@link DBCursor}
+   * @throws ChangelogException
+   *           If a database problem happened
+   * @see #getCursorFrom(DN, CSN)
+   */
+  DBCursor<UpdateMsg> getCursorFrom(DN baseDN, int serverId, CSN startAfterCSN)
+      throws ChangelogException;
+
+  /**
    * Publishes the provided change to the changelog DB for the specified
    * serverId and replication domain. After a change has been successfully
    * published, it becomes available to be returned by the External ChangeLog.

--
Gitblit v1.10.0