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=7ff4b1eae0984f5ceb2c13760fb18f517288dc5e;hb=9d4dc5045c48d1aefa53b620778ccdfb8bfe2bd4;hp=c1199699eca057e20e2cfcb95a211cefab44ea04;hpb=2fca7b79e92e8bd5a78c1ea530c04e67f4d81d4f;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 c1199699ec..7ff4b1eae0 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,32 +11,25 @@ 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 @NonNull ImmutableList currentHistories; - private final @NonNull ImmutableRangeSet purgedHistories; + 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); } @@ -44,7 +37,7 @@ public final class FrontendClientMetadata implements Identifiable getPurgedHistories() { + public ImmutableUnsignedLongSet getPurgedHistories() { return purgedHistories; } @@ -56,12 +49,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) { @@ -71,24 +59,15 @@ 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.closedOpen(lower, upper)); - } + final var purgedHistories = ImmutableUnsignedLongSet.readFrom(in); final int currentSize = in.readInt(); - final Collection currentHistories = new ArrayList<>(currentSize); + final var currentBuilder = ImmutableList.builderWithExpectedSize(currentSize); for (int i = 0; i < currentSize; ++i) { - currentHistories.add(FrontendHistoryMetadata.readFrom(in)); + currentBuilder.add(FrontendHistoryMetadata.readFrom(in)); } - return new FrontendClientMetadata(id, b.build(), currentHistories); + return new FrontendClientMetadata(id, purgedHistories, currentBuilder.build()); } @Override