org.rocksdb.PersistentCache Maven / Gradle / Ivy
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
// This source code is licensed under both the GPLv2 (found in the
// COPYING file in the root directory) and Apache 2.0 License
// (found in the LICENSE.Apache file in the root directory).
package org.rocksdb;
/**
* Persistent cache for caching IO pages on a persistent medium. The
* cache is specifically designed for persistent read cache.
*/
public class PersistentCache extends RocksObject {
public PersistentCache(final Env env, final String path, final long size,
final Logger logger, final boolean optimizedForNvm)
throws RocksDBException {
super(newPersistentCache(env.nativeHandle_, path, size,
logger.nativeHandle_, optimizedForNvm));
}
private static native long newPersistentCache(final long envHandle, final String path,
final long size, final long loggerHandle, final boolean optimizedForNvm)
throws RocksDBException;
@Override
protected final void disposeInternal(final long handle) {
disposeInternalJni(handle);
}
private static native void disposeInternalJni(final long handle);
}