use of com.tencent.polaris.plugins.ratelimiter.common.slide.SlidingWindow.Result in project polaris-java by polarismesh.
the class RemoteAwareBucket method fetchLocalUsage.
@Override
public Map<Integer, LocalQuotaInfo> fetchLocalUsage(long curTimeMs) {
Map<Integer, LocalQuotaInfo> localInfos = new HashMap<>();
for (Map.Entry<Long, TokenBucket> entry : tokenBucketMap.entrySet()) {
TokenBucket tokenBucket = entry.getValue();
Result result = tokenBucket.getSlidingWindow().acquireCurrentValues(curTimeMs);
LocalQuotaInfo localQuotaInfo = new LocalQuotaInfo(result.getPassed(), result.getLimited());
localInfos.put(tokenBucket.getValidDurationSecond(), localQuotaInfo);
}
return localInfos;
}
Aggregations