Feature - RExpirable interface added to RRateLimiter. #2824

pull/2853/head
Nikita Koksharov 5 years ago
parent 3ed64caf11
commit 457018a0e4

@ -15,18 +15,7 @@
*/
package org.redisson;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.redisson.api.RFuture;
import org.redisson.api.RRateLimiter;
import org.redisson.api.RateIntervalUnit;
import org.redisson.api.RateLimiterConfig;
import org.redisson.api.RateType;
import org.redisson.api.*;
import org.redisson.client.codec.LongCodec;
import org.redisson.client.codec.StringCodec;
import org.redisson.client.handler.State;
@ -39,12 +28,15 @@ import org.redisson.command.CommandAsyncExecutor;
import org.redisson.misc.RPromise;
import org.redisson.misc.RedissonPromise;
import java.util.*;
import java.util.concurrent.TimeUnit;
/**
*
* @author Nikita Koksharov
*
*/
public class RedissonRateLimiter extends RedissonObject implements RRateLimiter {
public class RedissonRateLimiter extends RedissonExpirable implements RRateLimiter {
public RedissonRateLimiter(CommandAsyncExecutor commandExecutor, String name) {
super(commandExecutor, name);

@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit;
* @author Nikita Koksharov
*
*/
public interface RRateLimiter extends RRateLimiterAsync, RObject {
public interface RRateLimiter extends RRateLimiterAsync, RExpirable {
/**
* Initializes RateLimiter's state and stores config to Redis server.

@ -23,7 +23,7 @@ import java.util.concurrent.TimeUnit;
* @author Nikita Koksharov
*
*/
public interface RRateLimiterAsync extends RObjectAsync {
public interface RRateLimiterAsync extends RExpirableAsync {
/**
* Initializes RateLimiter's state and stores config to Redis server.

@ -25,7 +25,7 @@ import java.util.concurrent.TimeUnit;
* @author Nikita Koksharov
*
*/
public interface RRateLimiterReactive extends RObjectReactive {
public interface RRateLimiterReactive extends RExpirableReactive {
/**
* Initializes RateLimiter's state and stores config to Redis server.

@ -26,7 +26,7 @@ import java.util.concurrent.TimeUnit;
* @author Nikita Koksharov
*
*/
public interface RRateLimiterRx extends RObjectRx {
public interface RRateLimiterRx extends RExpirableRx {
/**
* Initializes RateLimiter's state and stores config to Redis server.

@ -729,8 +729,8 @@ public class RedissonTest {
process.shutdown();
assertThat(readonlyErrors).isZero();
assertThat(errors).isLessThan(70);
assertThat(success).isGreaterThan(600 - 70);
assertThat(errors).isLessThan(130);
assertThat(success).isGreaterThan(600 - 130);
}

Loading…
Cancel
Save