org.rocksdb.Cache 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;
public abstract class Cache extends RocksObject {
protected Cache(final long nativeHandle) {
super(nativeHandle);
}
/**
* Returns the memory size for the entries
* residing in cache.
*
* @return cache usage size.
*
*/
public long getUsage() {
assert (isOwningHandle());
return getUsage(this.nativeHandle_);
}
/**
* Returns the memory size for the entries
* being pinned in cache.
*
* @return cache pinned usage size.
*
*/
public long getPinnedUsage() {
assert (isOwningHandle());
return getPinnedUsage(this.nativeHandle_);
}
private static native long getUsage(final long handle);
private static native long getPinnedUsage(final long handle);
}