From dd969a495ce1a651014931fdd89320df2083f31d Mon Sep 17 00:00:00 2001 From: leventov Date: Tue, 30 Dec 2014 08:34:13 +0700 Subject: [PATCH] HCOLL-244 Fixed a bug with pseudo-put or remotely replicated entry --- .../chronicle/hash/serialization/SizeMarshaller.java | 2 ++ .../chronicle/hash/serialization/SizeMarshallers.java | 10 ++++++++++ .../serialization/internal/ByteableMarshaller.java | 5 +++++ .../hash/serialization/internal/DoubleMarshaller.java | 6 ++++++ .../hash/serialization/internal/IntegerMarshaller.java | 5 +++++ .../hash/serialization/internal/LongMarshaller.java | 5 +++++ .../hash/serialization/internal/VoidMarshaller.java | 5 +++++ .../openhft/chronicle/map/ReplicatedChronicleMap.java | 4 +++- .../openhft/chronicle/set/DummyValueMarshaller.java | 5 +++++ 9 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshaller.java b/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshaller.java index 5c988298d..abf375ec1 100644 --- a/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshaller.java +++ b/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshaller.java @@ -26,6 +26,8 @@ public interface SizeMarshaller extends Serializable { int sizeEncodingSize(long size); + long minEncodableSize(); + int minSizeEncodingSize(); int maxSizeEncodingSize(); diff --git a/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshallers.java b/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshallers.java index 490a34a58..758c603e7 100644 --- a/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshallers.java +++ b/src/main/java/net/openhft/chronicle/hash/serialization/SizeMarshallers.java @@ -36,6 +36,11 @@ public final class SizeMarshallers { return stopBitLength(size); } + @Override + public long minEncodableSize() { + return 0L; + } + @Override public int minSizeEncodingSize() { return 1; @@ -75,6 +80,11 @@ public final class SizeMarshallers { return 0; } + @Override + public long minEncodableSize() { + return size; + } + @Override public int minSizeEncodingSize() { return 0; diff --git a/src/main/java/net/openhft/chronicle/hash/serialization/internal/ByteableMarshaller.java b/src/main/java/net/openhft/chronicle/hash/serialization/internal/ByteableMarshaller.java index b6350cca5..db3682f36 100644 --- a/src/main/java/net/openhft/chronicle/hash/serialization/internal/ByteableMarshaller.java +++ b/src/main/java/net/openhft/chronicle/hash/serialization/internal/ByteableMarshaller.java @@ -71,6 +71,11 @@ public abstract class ByteableMarshaller return 0; } + @Override + public long minEncodableSize() { + return size; + } + @Override public int minSizeEncodingSize() { return 0; diff --git a/src/main/java/net/openhft/chronicle/hash/serialization/internal/DoubleMarshaller.java b/src/main/java/net/openhft/chronicle/hash/serialization/internal/DoubleMarshaller.java index 6df3b6c79..b54ca23db 100644 --- a/src/main/java/net/openhft/chronicle/hash/serialization/internal/DoubleMarshaller.java +++ b/src/main/java/net/openhft/chronicle/hash/serialization/internal/DoubleMarshaller.java @@ -39,6 +39,12 @@ public enum DoubleMarshaller implements BytesInterop, BytesReader