me.snowdrop.istio.mixer.adapter.redisquota.QuotaAlgorithm Maven / Gradle / Ivy
/*
* *
* * Copyright (C) 2018 Red Hat, Inc.
* *
* * Licensed under the Apache License, Version 2.0 (the "License");
* * you may not use this file except in compliance with the License.
* * You may obtain a copy of the License at
* *
* * http://www.apache.org/licenses/LICENSE-2.0
* *
* * Unless required by applicable law or agreed to in writing, software
* * distributed under the License is distributed on an "AS IS" BASIS,
* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* * See the License for the specific language governing permissions and
* * limitations under the License.
*
*
*/
package me.snowdrop.istio.mixer.adapter.redisquota;
/**
* Algorithms for rate-limiting
*
* @author Christophe Laprun
*/
public enum QuotaAlgorithm {
/**
* FIXED_WINDOW The fixed window approach can allow 2x peak specified rate, whereas the rolling-window doesn't.
*/
FIXED_WINDOW(0),
/**
* ROLLING_WINDOW The rolling window algorithm's additional precision comes at the cost of increased redis resource
* usage.
*/
ROLLING_WINDOW(1);
private final int intValue;
QuotaAlgorithm(int intValue) {
this.intValue = intValue;
}
public int value() {
return intValue;
}
}