Package net.i2p.i2ptunnel
Class ConnThrottler
- java.lang.Object
-
- net.i2p.i2ptunnel.ConnThrottler
-
class ConnThrottler extends Object
Count how often something happens with a particular peer and all peers. This offers basic DOS protection but is not a complete solution. This is a little different from the one in streaming, in that the ban time is different from the check time, and we keep a separate map of throttled peers with individual time stamps. The streaming version is lightweight but "sloppy" since it uses a single time bucket for all.- Since:
- 0.9.9
-
-
Constructor Summary
Constructors Constructor Description ConnThrottler(int max, int totalMax, long period, long throttlePeriod, long totalThrottlePeriod, String action, Log log)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
start overboolean
shouldThrottle(Hash h)
Checks both individual and total.void
start()
void
stop()
void
updateLimits(int max, int totalMax, long checkPeriod, long throttlePeriod, long totalThrottlePeriod)
-
-
-
Method Detail
-
start
public void start()
-
stop
public void stop()
-
updateLimits
public void updateLimits(int max, int totalMax, long checkPeriod, long throttlePeriod, long totalThrottlePeriod)
-
shouldThrottle
public boolean shouldThrottle(Hash h)
Checks both individual and total. Increments before checking.
-
clear
public void clear()
start over
-
-