]> git.proxmox.com Git - ceph.git/blob - ceph/src/rocksdb/java/src/test/java/org/rocksdb/RateLimiterTest.java
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / rocksdb / java / src / test / java / org / rocksdb / RateLimiterTest.java
1 // Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
2 // This source code is licensed under both the GPLv2 (found in the
3 // COPYING file in the root directory) and Apache 2.0 License
4 // (found in the LICENSE.Apache file in the root directory).
5 package org.rocksdb;
6
7 import org.junit.ClassRule;
8 import org.junit.Test;
9
10 import static org.assertj.core.api.Assertions.assertThat;
11 import static org.rocksdb.RateLimiter.*;
12
13 public class RateLimiterTest {
14
15 @ClassRule
16 public static final RocksNativeLibraryResource ROCKS_NATIVE_LIBRARY_RESOURCE =
17 new RocksNativeLibraryResource();
18
19 @Test
20 public void bytesPerSecond() {
21 try(final RateLimiter rateLimiter =
22 new RateLimiter(1000, DEFAULT_REFILL_PERIOD_MICROS,
23 DEFAULT_FAIRNESS, DEFAULT_MODE, DEFAULT_AUTOTUNE)) {
24 assertThat(rateLimiter.getBytesPerSecond()).isGreaterThan(0);
25 rateLimiter.setBytesPerSecond(2000);
26 assertThat(rateLimiter.getBytesPerSecond()).isGreaterThan(0);
27 }
28 }
29
30 @Test
31 public void getSingleBurstBytes() {
32 try(final RateLimiter rateLimiter =
33 new RateLimiter(1000, DEFAULT_REFILL_PERIOD_MICROS,
34 DEFAULT_FAIRNESS, DEFAULT_MODE, DEFAULT_AUTOTUNE)) {
35 assertThat(rateLimiter.getSingleBurstBytes()).isEqualTo(100);
36 }
37 }
38
39 @Test
40 public void getTotalBytesThrough() {
41 try(final RateLimiter rateLimiter =
42 new RateLimiter(1000, DEFAULT_REFILL_PERIOD_MICROS,
43 DEFAULT_FAIRNESS, DEFAULT_MODE, DEFAULT_AUTOTUNE)) {
44 assertThat(rateLimiter.getTotalBytesThrough()).isEqualTo(0);
45 }
46 }
47
48 @Test
49 public void getTotalRequests() {
50 try(final RateLimiter rateLimiter =
51 new RateLimiter(1000, DEFAULT_REFILL_PERIOD_MICROS,
52 DEFAULT_FAIRNESS, DEFAULT_MODE, DEFAULT_AUTOTUNE)) {
53 assertThat(rateLimiter.getTotalRequests()).isEqualTo(0);
54 }
55 }
56
57 @Test
58 public void autoTune() {
59 try(final RateLimiter rateLimiter =
60 new RateLimiter(1000, DEFAULT_REFILL_PERIOD_MICROS,
61 DEFAULT_FAIRNESS, DEFAULT_MODE, true)) {
62 assertThat(rateLimiter.getBytesPerSecond()).isGreaterThan(0);
63 }
64 }
65 }