mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2025-02-04 05:41:28 +01:00
FlatWordBuckets: Ensure that at least as many entries as added get
released.
This commit is contained in:
parent
fe439d014f
commit
45951b5013
@ -15,6 +15,7 @@ public class FlatWordBuckets extends AbstractWordProcessor{
|
|||||||
final long durBucket;
|
final long durBucket;
|
||||||
final int nBuckets;
|
final int nBuckets;
|
||||||
final float factor;
|
final float factor;
|
||||||
|
|
||||||
public FlatWordBuckets(int maxSize, int nBuckets, long durBucket, float factor){
|
public FlatWordBuckets(int maxSize, int nBuckets, long durBucket, float factor){
|
||||||
super("FlatWordBuckets");
|
super("FlatWordBuckets");
|
||||||
this.maxSize = maxSize;
|
this.maxSize = maxSize;
|
||||||
@ -27,12 +28,11 @@ public class FlatWordBuckets extends AbstractWordProcessor{
|
|||||||
@Override
|
@Override
|
||||||
public void start(MessageLetterCount message) {
|
public void start(MessageLetterCount message) {
|
||||||
if (entries.size() + message.words.length > maxSize)
|
if (entries.size() + message.words.length > maxSize)
|
||||||
releaseMap(entries, maxSize / 10);
|
releaseMap(entries, Math.max(message.words.length, maxSize / 10));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float loop(long ts, int index, String key,
|
public float loop(long ts, int index, String key, WordLetterCount word) {
|
||||||
WordLetterCount message) {
|
|
||||||
ActionFrequency freq = entries.get(key);
|
ActionFrequency freq = entries.get(key);
|
||||||
if (freq == null){
|
if (freq == null){
|
||||||
freq = new ActionFrequency(nBuckets, durBucket);
|
freq = new ActionFrequency(nBuckets, durBucket);
|
||||||
|
Loading…
Reference in New Issue
Block a user