mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-02 08:17:13 +00:00
Merge commit '92b8c7961b433d12d9d77da5d61c26a920bbd370' into updated-rocksdb
This commit is contained in:
36
src/rocksdb2/java/org/rocksdb/GenericRateLimiterConfig.java
Normal file
36
src/rocksdb2/java/org/rocksdb/GenericRateLimiterConfig.java
Normal file
@@ -0,0 +1,36 @@
|
||||
// Copyright (c) 2014, Facebook, Inc. All rights reserved.
|
||||
// This source code is licensed under the BSD-style license found in the
|
||||
// LICENSE file in the root directory of this source tree. An additional grant
|
||||
// of patent rights can be found in the PATENTS file in the same directory.
|
||||
package org.rocksdb;
|
||||
|
||||
/**
|
||||
* Config for rate limiter, which is used to control write rate of flush and
|
||||
* compaction.
|
||||
*/
|
||||
public class GenericRateLimiterConfig extends RateLimiterConfig {
|
||||
private static final long DEFAULT_REFILL_PERIOD_MICROS = (100 * 1000);
|
||||
private static final int DEFAULT_FAIRNESS = 10;
|
||||
|
||||
public GenericRateLimiterConfig(long rateBytesPerSecond,
|
||||
long refillPeriodMicros, int fairness) {
|
||||
rateBytesPerSecond_ = rateBytesPerSecond;
|
||||
refillPeriodMicros_ = refillPeriodMicros;
|
||||
fairness_ = fairness;
|
||||
}
|
||||
|
||||
public GenericRateLimiterConfig(long rateBytesPerSecond) {
|
||||
this(rateBytesPerSecond, DEFAULT_REFILL_PERIOD_MICROS, DEFAULT_FAIRNESS);
|
||||
}
|
||||
|
||||
@Override protected long newRateLimiterHandle() {
|
||||
return newRateLimiterHandle(rateBytesPerSecond_, refillPeriodMicros_,
|
||||
fairness_);
|
||||
}
|
||||
|
||||
private native long newRateLimiterHandle(long rateBytesPerSecond,
|
||||
long refillPeriodMicros, int fairness);
|
||||
private final long rateBytesPerSecond_;
|
||||
private final long refillPeriodMicros_;
|
||||
private final int fairness_;
|
||||
}
|
||||
Reference in New Issue
Block a user