Interface ReplicaChangelog
- All Known Implementing Classes:
ReplicaChangelogImpl
public interface ReplicaChangelog
It represents the changelog of the replica.
Temporary interface to be able to test the leader based replication in the simulator, which implements fakes objects.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleanappendUserRequest(ReplicatedDomain domain, PreOperationOperation operation) Appends a user request to the changelog.csnNow()Returns a Csn representing the current time, not attached to an update.voidfetchChangelogChanges(Dn domain, ReplicaState fromStartingPoint, SearchResultHandler handler) Fetches changelog changes for the specified domain starting from the given replica state.Returns the changelog state.getOldestChangeOfStream(Domain domain, StreamId streamId) Returns the oldest change of the provided stream for the given domain.voidPurges the changelog up to the provided point.voidshutdown()Shuts down the changelog.voidstart()Starts the changelog.voidstop()Stops the changelog.
-
Field Details
-
EMPTY_CHANGELOG
An empty changelog.
-
-
Method Details
-
appendUserRequest
Appends a user request to the changelog.- Parameters:
domain- the replicated domainoperation- the operation to append- Returns:
- the Csn of the appended operation
-
csnNow
Csn csnNow()Returns a Csn representing the current time, not attached to an update. It has a similar function to the ChangeTime heartbeat we used to have in MultiMaster Replication- Returns:
- a Csn representing the current time
-
getChangelogState
Map<Domain, ReplicaState> getChangelogState()Returns the changelog state.- Returns:
- the changelog state
-
getOldestChangeOfStream
-
purgeUpTo
Purges the changelog up to the provided point.- Parameters:
purgePointThreshold- the minimum Csn to keep in the changelog
-
shutdown
void shutdown()Shuts down the changelog. -
start
void start()Starts the changelog. -
stop
void stop()Stops the changelog. -
fetchChangelogChanges
void fetchChangelogChanges(Dn domain, ReplicaState fromStartingPoint, SearchResultHandler handler) throws LdapException Fetches changelog changes for the specified domain starting from the given replica state.- Parameters:
domain- the base DN of the domainfromStartingPoint- the starting point of the changes to fetchhandler- the handler to process the fetched results- Throws:
LdapException
-