X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2FFrontendHistoryMetadataBuilder.java;h=db0fcf57909b9902090e68c8db92d3e7b6d67bd1;hb=728a8db811f7a257a0b69243cbf76bb5ccf69658;hp=6b901b4fa85988cc14ce4557d865a09d4a28d034;hpb=925cb4a228d0fda99c7bfeb432eb25285a223887;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java index 6b901b4fa8..db0fcf5790 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/FrontendHistoryMetadataBuilder.java @@ -8,6 +8,13 @@ package org.opendaylight.controller.cluster.datastore; import com.google.common.base.Preconditions; +import com.google.common.collect.Range; +import com.google.common.collect.RangeSet; +import com.google.common.collect.TreeRangeSet; +import com.google.common.primitives.UnsignedLong; +import java.util.HashMap; +import java.util.Map; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; import org.opendaylight.controller.cluster.access.concepts.LocalHistoryIdentifier; import org.opendaylight.controller.cluster.access.concepts.TransactionIdentifier; @@ -17,18 +24,23 @@ import org.opendaylight.yangtools.concepts.Identifiable; final class FrontendHistoryMetadataBuilder implements Builder, Identifiable { + + private final Map closedTransactions; + private final RangeSet purgedTransactions; private final LocalHistoryIdentifier identifier; - private long nextTransaction; private boolean closed; FrontendHistoryMetadataBuilder(final LocalHistoryIdentifier identifier) { this.identifier = Preconditions.checkNotNull(identifier); + this.purgedTransactions = TreeRangeSet.create(); + this.closedTransactions = new HashMap<>(2); } FrontendHistoryMetadataBuilder(final ClientIdentifier clientId, final FrontendHistoryMetadata meta) { identifier = new LocalHistoryIdentifier(clientId, meta.getHistoryId(), meta.getCookie()); - nextTransaction = meta.getNextTransaction(); + closedTransactions = new HashMap<>(meta.getClosedTransactions()); + purgedTransactions = TreeRangeSet.create(meta.getPurgedTransactions()); closed = meta.isClosed(); } @@ -39,14 +51,42 @@ final class FrontendHistoryMetadataBuilder implements Builder