wang.ramboll.extend.request.limit.interceptor.RequestFrequencyLimitWork Maven / Gradle / Ivy
package wang.ramboll.extend.request.limit.interceptor;
/**
* 访问请求频率限制功能
* @author WangRuibo
*/
public interface RequestFrequencyLimitWork {
/**
* 访问请求频率限制判断实现
* @param unionContent 根据参与条件计算出来的唯一标记,是判断是否拦截的依据
* @param delay 拦截延迟,即多少毫秒内再次请求相同数据会被拦截
* @param maxTimes 延迟时间内最大访问次数,默认1
* @return 返回true则放行,false则拦截
*/
boolean work(String unionContent, long delay, long maxTimes);
/**
* 解除访问请求频率限制
* @param unionContent 根据参与条件计算出来的唯一标记,是判断是否拦截的依据
* @param maxTimes 延迟时间内最大访问次数,默认1
*/
void cancelLimit(String unionContent, long maxTimes);
}