Add HashEntryStages.closeEntry()

This commit is contained in:
leventov
2016-02-17 16:55:15 +07:00
parent b525d8fb86
commit 3594027fb5
2 changed files with 12 additions and 2 deletions
@@ -62,12 +62,16 @@ public abstract class HashEntryStages<K> implements HashEntry<K>, ChecksumEntry
keySizeOffset = s.entrySpaceOffset + pos * hh.h().chunkSize;
}
public abstract void closeEntryOffset();
public long keySize = -1;
public void initKeySize(long keySize) {
this.keySize = keySize;
}
public abstract void closeKeySize();
public long keyOffset = -1;
public void initKeyOffset(long keyOffset) {
@@ -91,6 +95,13 @@ public abstract class HashEntryStages<K> implements HashEntry<K>, ChecksumEntry
initKeyOffset(keyOffset);
}
public void closeEntry() {
closePos();
closeEntryOffset();
closeKeySize();
closeKeyOffset();
}
public void writeNewEntry(long pos, Data<?> key) {
initPos(pos);
initKeySize(key.size());
@@ -108,8 +108,7 @@ public class ReadLock implements InterProcessLock {
if (s.localLockState != UNLOCKED) {
// TODO what should close here?
hlp.closeHashLookupPos();
entry.closePos();
entry.closeKeyOffset();
entry.closeEntry();
}
s.readUnlockAndDecrementCount();
s.setLocalLockState(UNLOCKED);