org.rocksdb.ConcurrentTaskLimiter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of rocksdbjni Show documentation
Show all versions of rocksdbjni Show documentation
RocksDB fat jar that contains .so files for linux32 and linux64 (glibc and musl-libc), jnilib files
for Mac OSX, and a .dll for Windows x64.
// Copyright (c) Meta Platforms, Inc. and affiliates.
//
// 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 ConcurrentTaskLimiter extends RocksObject {
protected ConcurrentTaskLimiter(final long nativeHandle) {
super(nativeHandle);
}
/**
* Returns a name that identifies this concurrent task limiter.
*
* @return Concurrent task limiter name.
*/
public abstract String name();
/**
* Set max concurrent tasks.
* limit = 0 means no new task allowed.
* limit < 0 means no limitation.
*
* @param maxOutstandinsTask max concurrent tasks.
* @return the reference to the current instance of ConcurrentTaskLimiter.
*/
public abstract ConcurrentTaskLimiter setMaxOutstandingTask(final int maxOutstandinsTask);
/**
* Reset to unlimited max concurrent task.
*
* @return the reference to the current instance of ConcurrentTaskLimiter.
*/
public abstract ConcurrentTaskLimiter resetMaxOutstandingTask();
/**
* Returns current outstanding task count.
*
* @return current outstanding task count.
*/
public abstract int outstandingTask();
}