mirror of
https://github.com/OpenHFT/Chronicle-Map.git
synced 2021-09-13 01:26:12 +00:00
Fixed 2 bugs, causing EventListenerTestWithTCPSocketReplication#testRemoteNotifyRemove() test fail
This commit is contained in:
@@ -24,6 +24,9 @@ import org.jetbrains.annotations.NotNull;
|
||||
* @param <RV> result type, map value type or Bytes
|
||||
*/
|
||||
interface ReadValue<RV> {
|
||||
/**
|
||||
* Updates the entry position by valueSize.
|
||||
*/
|
||||
RV readValue(@NotNull ThreadLocalCopies copies, Bytes entry, RV usingValue, long valueSize);
|
||||
RV readNull();
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ class VanillaChronicleMap<K, KI, MKI extends MetaBytesInterop<K, ? super KI>,
|
||||
}
|
||||
|
||||
static abstract class ReadValueToBytes implements ReadValue<Bytes> {
|
||||
private SizeMarshaller valueSizeMarshaller;
|
||||
SizeMarshaller valueSizeMarshaller;
|
||||
|
||||
abstract Bytes bytes(long valueSize);
|
||||
|
||||
@@ -398,6 +398,7 @@ class VanillaChronicleMap<K, KI, MKI extends MetaBytesInterop<K, ? super KI>,
|
||||
usingBytes = bytes(valueSize);
|
||||
valueSizeMarshaller.writeSize(usingBytes, valueSize);
|
||||
usingBytes.write(entry, entry.position(), valueSize);
|
||||
entry.skip(valueSize);
|
||||
return usingBytes;
|
||||
}
|
||||
}
|
||||
@@ -434,6 +435,7 @@ class VanillaChronicleMap<K, KI, MKI extends MetaBytesInterop<K, ? super KI>,
|
||||
|
||||
@Override
|
||||
Bytes bytes(long valueSize) {
|
||||
valueSize = valueSizeMarshaller.sizeEncodingSize(valueSize) + valueSize;
|
||||
if (lazyBytes != null) {
|
||||
if (lazyBytes.capacity() < valueSize) {
|
||||
DirectStore store = (DirectStore) lazyBytes.store();
|
||||
|
||||
Reference in New Issue
Block a user