X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-distributed-datastore%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fpersisted%2FFrontendClientMetadata.java;h=f384c928a6af37bac942255b6709304a5b90408f;hb=6a2d188f3f258d119f1fe29141bc5e10476c88d0;hp=a3f41ed65ddfbfb21c4da06d804f1a0278db6c75;hpb=3859df9beca8f13f1ff2b2744ed3470a1715bec3;p=controller.git diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendClientMetadata.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendClientMetadata.java index a3f41ed65d..f384c928a6 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendClientMetadata.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendClientMetadata.java @@ -11,31 +11,26 @@ import static java.util.Objects.requireNonNull; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableRangeSet; -import com.google.common.collect.ImmutableRangeSet.Builder; -import com.google.common.collect.Range; -import com.google.common.collect.RangeSet; -import com.google.common.primitives.UnsignedLong; import java.io.DataInput; import java.io.DataOutput; import java.io.IOException; import java.util.ArrayList; import java.util.Collection; -import java.util.Set; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.controller.cluster.access.concepts.ClientIdentifier; +import org.opendaylight.controller.cluster.datastore.utils.ImmutableUnsignedLongSet; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.concepts.WritableObject; -import org.opendaylight.yangtools.concepts.WritableObjects; public final class FrontendClientMetadata implements Identifiable, WritableObject { - private final Collection currentHistories; - private final RangeSet purgedHistories; - private final ClientIdentifier identifier; + private final @NonNull ImmutableList currentHistories; + private final @NonNull ImmutableUnsignedLongSet purgedHistories; + private final @NonNull ClientIdentifier identifier; - public FrontendClientMetadata(final ClientIdentifier identifier, final RangeSet purgedHistories, + public FrontendClientMetadata(final ClientIdentifier identifier, final ImmutableUnsignedLongSet purgedHistories, final Collection currentHistories) { this.identifier = requireNonNull(identifier); - this.purgedHistories = ImmutableRangeSet.copyOf(purgedHistories); + this.purgedHistories = requireNonNull(purgedHistories); this.currentHistories = ImmutableList.copyOf(currentHistories); } @@ -43,7 +38,7 @@ public final class FrontendClientMetadata implements Identifiable getPurgedHistories() { + public ImmutableUnsignedLongSet getPurgedHistories() { return purgedHistories; } @@ -55,12 +50,7 @@ public final class FrontendClientMetadata implements Identifiable> ranges = purgedHistories.asRanges(); - out.writeInt(ranges.size()); - for (final Range r : ranges) { - WritableObjects.writeLongs(out, r.lowerEndpoint().longValue(), r.upperEndpoint().longValue()); - } + purgedHistories.writeTo(out); out.writeInt(currentHistories.size()); for (final FrontendHistoryMetadata h : currentHistories) { @@ -70,24 +60,16 @@ public final class FrontendClientMetadata implements Identifiable b = ImmutableRangeSet.builder(); - for (int i = 0; i < purgedSize; ++i) { - final byte header = WritableObjects.readLongHeader(in); - final UnsignedLong lower = UnsignedLong.fromLongBits(WritableObjects.readFirstLong(in, header)); - final UnsignedLong upper = UnsignedLong.fromLongBits(WritableObjects.readSecondLong(in, header)); - - b.add(Range.closed(lower, upper)); - } + final var purgedHistories = ImmutableUnsignedLongSet.readFrom(in); final int currentSize = in.readInt(); - final Collection currentHistories = new ArrayList<>(currentSize); + // FIXME: ImmutableList.builder() + final var currentHistories = new ArrayList(currentSize); for (int i = 0; i < currentSize; ++i) { currentHistories.add(FrontendHistoryMetadata.readFrom(in)); } - return new FrontendClientMetadata(id, b.build(), currentHistories); + return new FrontendClientMetadata(id, purgedHistories, currentHistories); } @Override