diff --git a/redisson/src/main/java/org/redisson/api/RRateLimiter.java b/redisson/src/main/java/org/redisson/api/RRateLimiter.java index dc92293f6..63be07a62 100644 --- a/redisson/src/main/java/org/redisson/api/RRateLimiter.java +++ b/redisson/src/main/java/org/redisson/api/RRateLimiter.java @@ -26,24 +26,25 @@ import java.util.concurrent.TimeUnit; public interface RRateLimiter extends RRateLimiterAsync, RExpirable { /** - * Initializes RateLimiter's state and stores config to Redis server. + * Sets the rate limit only if it hasn't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * @return {@code true} if rate was set and {@code false} * otherwise */ boolean trySetRate(RateType mode, long rate, long rateInterval, RateIntervalUnit rateIntervalUnit); /** - * Updates RateLimiter's state and stores config to Redis server. + * Sets the rate limit and clears state. + * Overrides both limit and state if they haven't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit */ void setRate(RateType mode, long rate, long rateInterval, RateIntervalUnit rateIntervalUnit); diff --git a/redisson/src/main/java/org/redisson/api/RRateLimiterAsync.java b/redisson/src/main/java/org/redisson/api/RRateLimiterAsync.java index 1b0b8ec80..4752ff8f1 100644 --- a/redisson/src/main/java/org/redisson/api/RRateLimiterAsync.java +++ b/redisson/src/main/java/org/redisson/api/RRateLimiterAsync.java @@ -26,12 +26,12 @@ import java.util.concurrent.TimeUnit; public interface RRateLimiterAsync extends RExpirableAsync { /** - * Initializes RateLimiter's state and stores config to Redis server. + * Sets the rate limit only if it hasn't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * @return {@code true} if rate was set and {@code false} * otherwise */ @@ -145,13 +145,14 @@ public interface RRateLimiterAsync extends RExpirableAsync { /** - * Updates RateLimiter's state and stores config to Redis server. + * Sets the rate limit and clears state. + * Overrides both limit and state if they haven't been set before. * * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * @return {@code true} if rate was set and {@code false} * otherwise */ diff --git a/redisson/src/main/java/org/redisson/api/RRateLimiterReactive.java b/redisson/src/main/java/org/redisson/api/RRateLimiterReactive.java index cde388609..581cdb19a 100644 --- a/redisson/src/main/java/org/redisson/api/RRateLimiterReactive.java +++ b/redisson/src/main/java/org/redisson/api/RRateLimiterReactive.java @@ -28,24 +28,25 @@ import java.util.concurrent.TimeUnit; public interface RRateLimiterReactive extends RExpirableReactive { /** - * Initializes RateLimiter's state and stores config to Redis server. + * Sets the rate limit only if it hasn't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * @return {@code true} if rate was set and {@code false} * otherwise */ Mono trySetRate(RateType mode, long rate, long rateInterval, RateIntervalUnit rateIntervalUnit); /** - * Updates RateLimiter's state and stores config to Redis server. + * Sets the rate limit and clears state. + * Overrides both limit and state if they haven't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * */ Mono setRate(RateType mode, long rate, long rateInterval, RateIntervalUnit rateIntervalUnit); diff --git a/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java b/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java index 75a34e7f3..141a625a9 100644 --- a/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java +++ b/redisson/src/main/java/org/redisson/api/RRateLimiterRx.java @@ -29,24 +29,25 @@ import java.util.concurrent.TimeUnit; public interface RRateLimiterRx extends RExpirableRx { /** - * Initializes RateLimiter's state and stores config to Redis server. + * Sets the rate limit only if it hasn't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * @return {@code true} if rate was set and {@code false} * otherwise */ Single trySetRate(RateType mode, long rate, long rateInterval, RateIntervalUnit rateIntervalUnit); /** - * Updates RateLimiter's state and stores config to Redis server. + * Sets the rate limit and clears state. + * Overrides both limit and state if they haven't been set before. * - * @param mode - rate mode - * @param rate - rate - * @param rateInterval - rate time interval - * @param rateIntervalUnit - rate time interval unit + * @param mode rate mode + * @param rate rate + * @param rateInterval rate time interval + * @param rateIntervalUnit rate time interval unit * */ Single setRate(RateType mode, long rate, long rateInterval, RateIntervalUnit rateIntervalUnit);