Interface RateLimitPolicyFactory
-
- All Superinterfaces:
java.io.Serializable
public interface RateLimitPolicyFactory extends java.io.SerializableImplement this interface to create aRateLimitPolicy. Used to create a rate limiter for each shard. The factory will be called from multiple threads, so if it returns a singleton instance of RateLimitPolicy then that instance should be thread-safe, otherwise it should return separate RateLimitPolicy instances.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classRateLimitPolicyFactory.DefaultRateLimiterDefault rate limiter that throttles reading from a shard using an exponential backoff if the response is empty or if the consumer is throttled by AWS.static classRateLimitPolicyFactory.DelayIntervalRateLimiter
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description RateLimitPolicygetRateLimitPolicy()static RateLimitPolicyFactorywithDefaultRateLimiter()static RateLimitPolicyFactorywithDefaultRateLimiter(org.joda.time.Duration emptySuccessBaseDelay, org.joda.time.Duration throttledBaseDelay, org.joda.time.Duration maxDelay)static RateLimitPolicyFactorywithDelay(java.util.function.Supplier<org.joda.time.Duration> delay)static RateLimitPolicyFactorywithFixedDelay()static RateLimitPolicyFactorywithFixedDelay(org.joda.time.Duration delay)static RateLimitPolicyFactorywithoutLimiter()
-
-
-
Method Detail
-
getRateLimitPolicy
RateLimitPolicy getRateLimitPolicy()
-
withoutLimiter
static RateLimitPolicyFactory withoutLimiter()
-
withDefaultRateLimiter
static RateLimitPolicyFactory withDefaultRateLimiter()
-
withDefaultRateLimiter
static RateLimitPolicyFactory withDefaultRateLimiter(org.joda.time.Duration emptySuccessBaseDelay, org.joda.time.Duration throttledBaseDelay, org.joda.time.Duration maxDelay)
-
withFixedDelay
static RateLimitPolicyFactory withFixedDelay()
-
withFixedDelay
static RateLimitPolicyFactory withFixedDelay(org.joda.time.Duration delay)
-
withDelay
static RateLimitPolicyFactory withDelay(java.util.function.Supplier<org.joda.time.Duration> delay)
-
-