Interface RateLimitPolicyFactory
- All Superinterfaces:
Serializable
Implement this interface to create a
RateLimitPolicy. 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 ClassesModifier and TypeInterfaceDescriptionstatic classDefault 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 class -
Method Summary
Modifier and TypeMethodDescriptionstatic RateLimitPolicyFactorystatic RateLimitPolicyFactorywithDefaultRateLimiter(Duration emptySuccessBaseDelay, Duration throttledBaseDelay, Duration maxDelay) static RateLimitPolicyFactorystatic RateLimitPolicyFactorystatic RateLimitPolicyFactorywithFixedDelay(Duration delay) static RateLimitPolicyFactory
-
Method Details
-
getRateLimitPolicy
RateLimitPolicy getRateLimitPolicy() -
withoutLimiter
-
withDefaultRateLimiter
-
withDefaultRateLimiter
static RateLimitPolicyFactory withDefaultRateLimiter(Duration emptySuccessBaseDelay, Duration throttledBaseDelay, Duration maxDelay) -
withFixedDelay
-
withFixedDelay
-
withDelay
-