From a2779b483b7f4696d6c0f4973e2e392e870e03ed Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 10 Nov 2021 22:05:44 +0100 Subject: [PATCH] Rename UnsignedLongSet.size() Since we have 'Set' in our name, size() invokes Set.size(), which is not we provide w.r.t. the number of distinct elements that are contained in the set. We are communicating how many ranges are stored, hence the method's name is 'rangeSize()'. Change-Id: Iaf9999db86fe03a8e753107638fc2e189b680677 Signed-off-by: Robert Varga --- .../persisted/FrontendHistoryMetadata.java | 2 +- .../utils/ImmutableUnsignedLongSet.java | 9 ++++---- .../utils/MutableUnsignedLongSet.java | 5 +++- .../datastore/utils/UnsignedLongSet.java | 23 +++---------------- 4 files changed, 13 insertions(+), 26 deletions(-) diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendHistoryMetadata.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendHistoryMetadata.java index c698ccf8d2..a27b2c0311 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendHistoryMetadata.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/persisted/FrontendHistoryMetadata.java @@ -61,7 +61,7 @@ public final class FrontendHistoryMetadata implements WritableObject { out.writeBoolean(closed); final int closedSize = closedTransactions.size(); - final int purgedSize = purgedTransactions.size(); + final int purgedSize = purgedTransactions.rangeSize(); WritableObjects.writeLongs(out, closedSize, purgedSize); closedTransactions.writeEntriesTo(out, closedSize); purgedTransactions.writeRangesTo(out, purgedSize); diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/ImmutableUnsignedLongSet.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/ImmutableUnsignedLongSet.java index 47b8a8b015..39348716f3 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/ImmutableUnsignedLongSet.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/ImmutableUnsignedLongSet.java @@ -35,7 +35,7 @@ public final class ImmutableUnsignedLongSet extends UnsignedLongSet implements I if (mutable.isEmpty()) { return of(); } - if (mutable.size() <= ARRAY_MAX_ELEMENTS) { + if (mutable.rangeSize() <= ARRAY_MAX_ELEMENTS) { return new ImmutableUnsignedLongSet(ImmutableSortedSet.copyOfSorted(mutable.trustedRanges())); } return new ImmutableUnsignedLongSet(new TreeSet<>(mutable.trustedRanges())); @@ -77,13 +77,14 @@ public final class ImmutableUnsignedLongSet extends UnsignedLongSet implements I @Override public void writeTo(final DataOutput out) throws IOException { - out.writeInt(size()); + out.writeInt(rangeSize()); writeRanges(out); } public void writeRangesTo(final @NonNull DataOutput out, final int size) throws IOException { - if (size != size()) { - throw new IOException("Mismatched size: expected " + size() + ", got " + size); + final int rangeSize = rangeSize(); + if (size != rangeSize) { + throw new IOException("Mismatched size: expected " + rangeSize + ", got " + size); } writeRanges(out); } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/MutableUnsignedLongSet.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/MutableUnsignedLongSet.java index b42a945519..d225033ebc 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/MutableUnsignedLongSet.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/MutableUnsignedLongSet.java @@ -10,6 +10,7 @@ package org.opendaylight.controller.cluster.datastore.utils; import com.google.common.annotations.Beta; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableRangeSet; +import com.google.common.collect.Range; import com.google.common.primitives.UnsignedLong; import java.util.NavigableSet; import java.util.TreeSet; @@ -185,7 +186,9 @@ public final class MutableUnsignedLongSet extends UnsignedLongSet implements Mut return Entry.of(lowerBits, newUpper); } + // Provides compatibility with RangeSet using [lower, upper + 1) public ImmutableRangeSet toRangeSet() { - return ImmutableRangeSet.copyOf(Collections2.transform(trustedRanges(), Entry::toUnsigned)); + return ImmutableRangeSet.copyOf(Collections2.transform(trustedRanges(), entry -> Range.closedOpen( + UnsignedLong.fromLongBits(entry.lowerBits), UnsignedLong.fromLongBits(entry.upperBits + 1)))); } } diff --git a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/UnsignedLongSet.java b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/UnsignedLongSet.java index b9bf8c33f3..59393a3ee0 100644 --- a/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/UnsignedLongSet.java +++ b/opendaylight/md-sal/sal-distributed-datastore/src/main/java/org/opendaylight/controller/cluster/datastore/utils/UnsignedLongSet.java @@ -12,9 +12,7 @@ import static java.util.Objects.requireNonNull; import com.google.common.annotations.Beta; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.MoreObjects; -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; @@ -39,8 +37,8 @@ abstract class UnsignedLongSet { @Beta @VisibleForTesting public static final class Entry implements Comparable, Immutable { - final long lowerBits; - final long upperBits; + public final long lowerBits; + public final long upperBits; private Entry(final long lowerBits, final long upperBits) { this.lowerBits = lowerBits; @@ -55,16 +53,6 @@ abstract class UnsignedLongSet { return new Entry(lowerBits, upperBits); } - @VisibleForTesting - public @NonNull UnsignedLong lower() { - return UnsignedLong.fromLongBits(lowerBits); - } - - @VisibleForTesting - public @NonNull UnsignedLong upper() { - return UnsignedLong.fromLongBits(upperBits); - } - @NonNull Entry withLower(final long newLowerBits) { return of(newLowerBits, upperBits); } @@ -73,11 +61,6 @@ abstract class UnsignedLongSet { return of(lowerBits, newUpperBits); } - // Provides compatibility with RangeSet using [lower, upper + 1) - @NonNull Range toUnsigned() { - return Range.closedOpen(UnsignedLong.fromLongBits(lowerBits), UnsignedLong.fromLongBits(upperBits + 1)); - } - // These two methods provide the same serialization format as the one we've used to serialize // Range static @NonNull Entry readUnsigned(final DataInput in) throws IOException { @@ -146,7 +129,7 @@ abstract class UnsignedLongSet { return ranges.isEmpty(); } - public final int size() { + public final int rangeSize() { return ranges.size(); } -- 2.36.6