From bb22985d9c1e2955889b3eafd0ed4e2ba5da016d Mon Sep 17 00:00:00 2001 From: leventov Date: Tue, 19 Jan 2016 14:17:38 +0300 Subject: [PATCH] Remove entriesPerSegment field from VanillaChronicleHash --- .../hash/impl/VanillaChronicleHash.java | 10 +--------- .../openhft/chronicle/map/CHMUseCasesTest.java | 17 +++++++++++------ 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java b/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java index 9b58e7bb1..d711a4d0f 100644 --- a/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java +++ b/src/main/java/net/openhft/chronicle/hash/impl/VanillaChronicleHash.java @@ -90,8 +90,6 @@ public abstract class VanillaChronicleHash 4) { @@ -244,8 +240,6 @@ public abstract class VanillaChronicleHash "actualSegments").int32(); hashSplitting = wireIn.read(() -> "hashSplitting").typedMarshallable(); - entriesPerSegment = wireIn.read(() -> "entriesPerSegment").int64(); - chunkSize = wireIn.read(() -> "chunkSize").int64(); maxChunksPerEntry = wireIn.read(() -> "maxChunksPerEntry").int32(); actualChunksPerSegmentTier = wireIn.read(() -> "actualChunksPerSegmentTier").int64(); @@ -290,8 +284,6 @@ public abstract class VanillaChronicleHash "actualSegments").int32(actualSegments); wireOut.write(() -> "hashSplitting").typedMarshallable(hashSplitting); - wireOut.write(() -> "entriesPerSegment").int64(entriesPerSegment); - wireOut.write(() -> "chunkSize").int64(chunkSize); wireOut.write(() -> "maxChunksPerEntry").int32(maxChunksPerEntry); wireOut.write(() -> "actualChunksPerSegmentTier").int64(actualChunksPerSegmentTier); diff --git a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java index 67dd1fd68..cb1b9dd35 100644 --- a/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java +++ b/src/test/java/net/openhft/chronicle/map/CHMUseCasesTest.java @@ -19,6 +19,7 @@ package net.openhft.chronicle.map; import com.google.common.primitives.Chars; import net.openhft.chronicle.bytes.Bytes; import net.openhft.chronicle.bytes.BytesMarshallable; +import net.openhft.chronicle.core.Maths; import net.openhft.chronicle.core.util.SerializableFunction; import net.openhft.chronicle.core.values.*; import net.openhft.chronicle.hash.serialization.DataAccess; @@ -47,7 +48,9 @@ import java.util.*; import java.util.concurrent.ExecutionException; import java.util.function.BiFunction; +import static java.lang.Math.max; import static java.util.Arrays.asList; +import static net.openhft.chronicle.core.Maths.divideRoundUp; import static net.openhft.chronicle.map.fromdocs.OpenJDKAndHashMapExamplesTest.parseYYYYMMDD; import static org.junit.Assert.*; @@ -122,7 +125,7 @@ public class CHMUseCasesTest { private void mapChecks() { if (typeOfMap == TypeOfMap.SIMPLE) - checkJsonSerilization(); + checkJsonSerialization(); } private void assertArrayValueEquals(ChronicleMap map1, ChronicleMap map2) { @@ -153,7 +156,7 @@ public class CHMUseCasesTest { } - private void checkJsonSerilization() { + private void checkJsonSerialization() { File file = null; try { file = File.createTempFile("chronicle-map-", ".json"); @@ -167,16 +170,18 @@ public class CHMUseCasesTest { map1.getAll(file); VanillaChronicleMap vanillaMap = (VanillaChronicleMap) map1; - ChronicleMapBuilder builder = ChronicleMapBuilder.of(map1.keyClass(), - map1.valueClass()) - .entriesPerSegment(vanillaMap.entriesPerSegment) + ChronicleMapBuilder builder = ChronicleMap + .of(map1.keyClass(), map1.valueClass()) + .entriesPerSegment( + max(divideRoundUp(map1.size(), vanillaMap.actualSegments), 1)) .actualSegments(vanillaMap.actualSegments) .actualChunksPerSegmentTier(vanillaMap.actualChunksPerSegmentTier); if (!vanillaMap.constantlySizedEntry) { builder.actualChunkSize((int) vanillaMap.chunkSize); builder.worstAlignment(vanillaMap.worstAlignment); } - try (ChronicleMap actual = builder.create()) { + + try (ChronicleMap actual = builder.create()) { actual.putAll(file);