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