@Override public Long writeMapping(K key, V value, int hash, int metadata) { Integer keyEncoding = keyStorageEngine.write(key, hash); if (keyEncoding == null) { return null; } Integer valueEncoding = valueStorageEngine.write(value, hash); if (valueEncoding == null) { keyStorageEngine.free(keyEncoding); return null; } return encoding(keyEncoding, valueEncoding); }
@Override public boolean equalsValue(Object value, long encoding) { return valueStorage.equals(value, SplitStorageEngine.valueEncoding(encoding)); }
@Override public void invalidateCache() { keyStorageEngine.invalidateCache(); valueStorageEngine.invalidateCache(); }
@Override public long getAllocatedMemory() { return valueStorage.getAllocatedMemory(); }
@Override public long getOccupiedMemory() { return valueStorage.getOccupiedMemory(); }
@Override public long getDataSize() { return keyStorageEngine.getDataSize() + valueStorageEngine.getDataSize(); }
@Override public long getVitalMemory() { return valueStorage.getVitalMemory(); }
@Override public Long writeMapping(K key, V value, int hash, int metadata) { Integer keyEncoding = keyStorageEngine.write(key, hash); if (keyEncoding == null) { return null; } Integer valueEncoding = valueStorageEngine.write(value, hash); if (valueEncoding == null) { keyStorageEngine.free(keyEncoding); return null; } return encoding(keyEncoding, valueEncoding); }
@Override public boolean equalsValue(Object value, long encoding) { return valueStorageEngine.equals(value, valueEncoding(encoding)); }
@Override public void invalidateCache() { keyStorageEngine.invalidateCache(); valueStorageEngine.invalidateCache(); }
@Override public long getAllocatedMemory() { return valueStorage.getAllocatedMemory(); }
@Override public long getOccupiedMemory() { return keyStorageEngine.getOccupiedMemory() + valueStorageEngine.getOccupiedMemory(); }
@Override public long getDataSize() { return valueStorage.getDataSize(); }
@Override public long getVitalMemory() { return keyStorageEngine.getVitalMemory() + valueStorageEngine.getVitalMemory(); }
@Override public boolean equalsValue(Object value, long encoding) { return valueStorage.equals(value, SplitStorageEngine.valueEncoding(encoding)); }