Fixed 2 bugs, causing EventListenerTestWithTCPSocketReplication#testRemoteNotifyRemove() test fail

This commit is contained in:
leventov
2014-12-01 21:10:22 +07:00
parent 87270d0642
commit b3141fcb46
3 changed files with 6 additions and 2 deletions
@@ -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();