| | |
| | | /** |
| | | * A map used to store the pending changes. |
| | | */ |
| | | private SortedMap<CSN, PendingChange> pendingChanges = |
| | | private final SortedMap<CSN, PendingChange> pendingChanges = |
| | | new TreeMap<CSN, PendingChange>(); |
| | | |
| | | /** |
| | |
| | | * not been replayed correctly because they are dependent on |
| | | * another change to be completed. |
| | | */ |
| | | private SortedSet<PendingChange> dependentChanges = |
| | | private final SortedSet<PendingChange> dependentChanges = |
| | | new TreeSet<PendingChange>(); |
| | | |
| | | /** |
| | | * The ServerState that will be updated when LDAPUpdateMsg are fully replayed. |
| | | */ |
| | | private ServerState state; |
| | | private final ServerState state; |
| | | |
| | | /** |
| | | * Creates a new RemotePendingChanges using the provided ServerState. |
| | |
| | | * |
| | | * @param update The LDAPUpdateMsg that was received from the replication |
| | | * server and that will be added to the pending list. |
| | | * @return {@code false} if the update was already registered in the pending |
| | | * changes. |
| | | */ |
| | | public synchronized void putRemoteUpdate(LDAPUpdateMsg update) |
| | | public synchronized boolean putRemoteUpdate(LDAPUpdateMsg update) |
| | | { |
| | | CSN csn = update.getCSN(); |
| | | pendingChanges.put(csn, new PendingChange(csn, null, update)); |
| | | return pendingChanges.put(csn, |
| | | new PendingChange(csn, null, update)) == null; |
| | | } |
| | | |
| | | /** |