final class RateLimitServiceImpl extends java.lang.Object implements RateLimitService
Modifier and Type | Field and Description |
---|---|
private RateLimitConfiguration |
config |
private int |
limit |
private javax.inject.Provider<RateLimitRepository> |
repo |
private long |
timeToLiveInMillis |
Constructor and Description |
---|
RateLimitServiceImpl(RateLimitConfiguration config,
javax.inject.Provider<RateLimitRepository> repo,
int limit,
long timeToLiveInMillis) |
Modifier and Type | Method and Description |
---|---|
RateLimit |
consume(java.lang.String tokenId) |
private RateLimit |
create(java.lang.String tokenId) |
RateLimit |
get(java.lang.String tokenId) |
protected RateLimitConfiguration |
getConfig() |
private final RateLimitConfiguration config
private final javax.inject.Provider<RateLimitRepository> repo
private final int limit
private final long timeToLiveInMillis
public RateLimitServiceImpl(RateLimitConfiguration config, javax.inject.Provider<RateLimitRepository> repo, int limit, long timeToLiveInMillis)
protected RateLimitConfiguration getConfig()
public RateLimit consume(java.lang.String tokenId)
consume
in interface RateLimitService
public RateLimit get(java.lang.String tokenId)
get
in interface RateLimitService
private RateLimit create(java.lang.String tokenId)