public class RateLimit extends java.lang.Object implements Var<RateLimit>
RateLimit(byte, int, long, long)
,
validate()
,
RateLimiter
Modifier and Type | Field and Description |
---|---|
static int |
KEY_DDOS |
static int |
KEY_EXPIRED |
static int |
KEY_INITIAL |
static int |
KEY_OK |
static int |
KEY_RATELIMIT |
static int |
KEY_UNAUTHORIZED |
static long |
VALIDTHRU_1970 |
static long |
VALIDTHRU_2100 |
Constructor and Description |
---|
RateLimit()
Nur fuer Serialisierung gedacht.
|
RateLimit(byte creator,
int limit,
long interval,
long expires)
Parameter-Konstruktor.
|
RateLimit(byte creator,
java.lang.String csv)
CSV-Konstruktor, der einen Strimg-Parameter parst und an
den eigentlichen Konstruktor deligiert.
|
Modifier and Type | Method and Description |
---|---|
void |
decreaseLimitCounter() |
long |
getAge() |
byte |
getCreator() |
long |
getExpires() |
long |
getIdle() |
long |
getIntervalEnd() |
long |
getLimit() |
long |
getLimitCounter() |
long |
getMalCounter() |
int |
getStatus() |
void |
penalizeDdos(long penalty) |
RateLimit |
readFromStream(InStream inStream)
Deserialisiert dieses Objekt aus einem Stream.
|
void |
resetMonitoring()
Setzt die Ueberwachungswerte und die Stoppuhr
auf Initial und Jetzt zurueck.
|
java.lang.String |
toString() |
boolean |
updateConstraints(byte creator,
int limit,
long interval,
long expires)
Ueberschreibt die Ueberwachungsregel zur Laufzeit.
|
boolean |
updateConstraintsCsv(byte creator,
java.lang.String csv)
Ueberschreibt die CSV-Ueberwachungsregel zur Laufzeit.
|
boolean |
updateContraints(RateLimit rl)
Ueberschreibt die Ueberwachungsregel zur Laufzeit und benutzt
die Grenzwerte aus einer Vorlage.
|
void |
validate()
Validiert gegen die hier geltende Regel und aktualisiert
den Status, die internen Zaehler und Zeitstempel.
|
void |
writeToStream(OutStream outStream)
Serialisiert dieses Objekt in einen Stream.
|
public static final long VALIDTHRU_1970
public static final long VALIDTHRU_2100
public static final int KEY_INITIAL
public static final int KEY_OK
public static final int KEY_RATELIMIT
public static final int KEY_EXPIRED
public static final int KEY_UNAUTHORIZED
public static final int KEY_DDOS
public RateLimit()
resetMonitoring()
aus und
setzt auch keine internen Variablen!public RateLimit(byte creator, int limit, long interval, long expires)
creator
- byte Erstellerlimit
- int Maximale Anzahl von Aufrufeninterval
- long (Millisekunden) In diesem Zeitintervalexpires
- long Absolutes Ablaufdatum in Millis.RateLimit
,
RateLimit(byte, String)
public RateLimit(byte creator, java.lang.String csv)
creator
- byte Erstellercsv
- Parameter fuer RateLimit(byte, int, long, long)
Anzahl, ZeitInterval, ZeitStrafe, JJJJ-MM-TT
.
updateConstraintsCsv(byte, String)
public final void resetMonitoring()
getStatus()
public final boolean updateConstraints(byte creator, int limit, long interval, long expires)
creator
- byte Erstellerlimit
- int Maximale Anzahl von Aufrufeninterval
- long (Millisekunden) In diesem Zeitintervalexpires
- Absolutes Ablaufdatum in Millis.resetMonitoring()
,
RateLimit(byte, int, long, long)
,
updateConstraintsCsv(byte, String)
public final boolean updateContraints(RateLimit rl)
rl
- RateLimit
VorlageresetMonitoring()
,
RateLimit(byte, int, long, long)
public final boolean updateConstraintsCsv(byte creator, java.lang.String csv)
creator
- Erstellercsv
- Parameter fuer RateLimit(byte, int, long, long)
Anzahl, ZeitInterval, ZeitStrafe, JJJJ-MM-TT
.
resetMonitoring()
,
RateLimit(byte, String)
public final byte getCreator()
public final long getAge()
public final long getIdle()
public final long getMalCounter()
public final long getLimit()
public final long getIntervalEnd()
public final long getExpires()
public final long getLimitCounter()
public final int getStatus()
public final void decreaseLimitCounter()
public final void validate()
RateLimit(byte, int, long, long)
public final void penalizeDdos(long penalty)
public java.lang.String toString()
toString
in class java.lang.Object
public void writeToStream(OutStream outStream)
Var
writeToStream
in interface Var<RateLimit>
outStream
- OutStream