public class RateLimitServiceImpl extends java.lang.Object implements RateLimitService
Modifier and Type | Field and Description |
---|---|
private static int |
HOUR_IN_MILLIS |
private int |
limit |
private javax.inject.Provider<RateLimitRepository> |
repo |
Constructor and Description |
---|
RateLimitServiceImpl(RateLimitConfiguration config,
javax.inject.Provider<RateLimitRepository> repo) |
Modifier and Type | Method and Description |
---|---|
RateLimit |
consume(java.lang.String id) |
private RateLimit |
create(java.lang.String id) |
private static org.joda.time.DateTime |
getResetTimestamp() |
private static final int HOUR_IN_MILLIS
private final int limit
private final javax.inject.Provider<RateLimitRepository> repo
@Inject public RateLimitServiceImpl(RateLimitConfiguration config, javax.inject.Provider<RateLimitRepository> repo)
private static org.joda.time.DateTime getResetTimestamp()
public RateLimit consume(java.lang.String id) throws RateLimitExceededException
consume
in interface RateLimitService
RateLimitExceededException
private RateLimit create(java.lang.String id)