mirror of
https://github.com/OpenHFT/Chronicle-Map.git
synced 2021-09-13 01:26:12 +00:00
Defensive checks in SizeMarshallers and possible bugs with marshalling 0, however it could be not supported
This commit is contained in:
+1
@@ -89,6 +89,7 @@ public abstract class ByteableMarshaller<E extends Byteable>
|
||||
|
||||
@Override
|
||||
public void writeSize(Bytes bytes, long size) {
|
||||
assert size == this.size;
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ public enum DoubleMarshaller implements BytesInterop<Double>, BytesReader<Double
|
||||
|
||||
@Override
|
||||
public void writeSize(Bytes bytes, long size) {
|
||||
assert size == 8L;
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -90,6 +90,7 @@ public enum DummyValueMarshaller
|
||||
|
||||
@Override
|
||||
public void writeSize(Bytes bytes, long size) {
|
||||
assert size == 0L;
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ public enum IntegerMarshaller
|
||||
|
||||
@Override
|
||||
public void writeSize(Bytes bytes, long size) {
|
||||
assert size == 4L;
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ public enum LongMarshaller
|
||||
|
||||
@Override
|
||||
public void writeSize(Bytes bytes, long size) {
|
||||
assert size == 8L;
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
@@ -98,6 +98,7 @@ public final class SizeMarshallers {
|
||||
|
||||
@Override
|
||||
public void writeSize(Bytes bytes, long size) {
|
||||
assert size == this.size;
|
||||
// do nothing
|
||||
}
|
||||
|
||||
|
||||
@@ -743,13 +743,8 @@ final class ReplicatedChronicleMap<K, KI, MKI extends MetaBytesInterop<K, ? supe
|
||||
return 0;
|
||||
}
|
||||
|
||||
final boolean isDeleted = entry.readBoolean();
|
||||
long valueSize;
|
||||
if (!isDeleted) {
|
||||
valueSize = valueSizeMarshaller.readSize(entry);
|
||||
} else {
|
||||
valueSize = 0L;
|
||||
}
|
||||
entry.skip(1); // is Deleted
|
||||
long valueSize = valueSizeMarshaller.readSize(entry);
|
||||
|
||||
alignment.alignPositionAddr(entry);
|
||||
long result = (entry.position() + valueSize - start);
|
||||
@@ -793,7 +788,7 @@ final class ReplicatedChronicleMap<K, KI, MKI extends MetaBytesInterop<K, ? supe
|
||||
if (!isDeleted) {
|
||||
valueSize = valueSizeMarshaller.readSize(entry);
|
||||
} else {
|
||||
valueSize = 0L;
|
||||
valueSize = valueSizeMarshaller.minEncodableSize();
|
||||
}
|
||||
|
||||
final long valuePosition = entry.position();
|
||||
|
||||
Reference in New Issue
Block a user