public class RateLimit extends java.lang.Object implements Var<RateLimit>
RateLimit(boolean, 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(boolean declared,
int limit,
long interval,
long expires)
Parameter-Konstruktor.
|
RateLimit(boolean declared,
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() |
long |
getExpires() |
long |
getIdle() |
long |
getIntervalEnd() |
long |
getLimitCounter() |
long |
getMalCounter() |
int |
getStatus() |
boolean |
isDeclared() |
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(boolean declared,
int limit,
long interval,
long expires)
Ueberschreibt die Ueberwachungsregel zur Laufzeit.
|
boolean |
updateConstraints(boolean declared,
RateLimit rl)
Ueberschreibt die Ueberwachungsregel zur Laufzeit und benutzt
die Grenzwerte aus einer Vorlage.
|
boolean |
updateConstraintsCsv(boolean declared,
java.lang.String csv)
Ueberschreibt die CSV-Ueberwachungsregel zur Laufzeit.
|
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(boolean declared, int limit, long interval, long expires)
declared
- boolean true: Aus z.B. KeyStorelimit
- int Maximale Anzahl von Aufrufeninterval
- long (Millisekunden) In diesem Zeitintervalexpires
- long Absolutes Ablaufdatum in Millis.RateLimit
,
RateLimit(boolean, String)
public RateLimit(boolean declared, java.lang.String csv)
declared
- boolean true: Aus z.B. KeyStorecsv
- Parameter fuer RateLimit(boolean, int, long, long)
Anzahl, ZeitInterval, ZeitStrafe, JJJJ-MM-TT
.
updateConstraintsCsv(boolean, String)
public final void resetMonitoring()
getStatus()
public final boolean updateConstraints(boolean declared, int limit, long interval, long expires)
declared
- boolean true: Aus z.B. KeyStorelimit
- int Maximale Anzahl von Aufrufeninterval
- long (Millisekunden) In diesem Zeitintervalexpires
- Absolutes Ablaufdatum in Millis.resetMonitoring()
,
RateLimit(boolean, int, long, long)
,
updateConstraintsCsv(boolean, String)
public final boolean updateConstraints(boolean declared, RateLimit rl)
rl
- RateLimit
Vorlage, NULLABLEdeclared
- boolean true: Aus z.B. KeyStoreresetMonitoring()
,
RateLimit(boolean, int, long, long)
public final boolean updateConstraintsCsv(boolean declared, java.lang.String csv)
declared
- boolean true: Aus z.B. KeyStorecsv
- Parameter fuer RateLimit(boolean, int, long, long)
Anzahl, ZeitInterval, ZeitStrafe, JJJJ-MM-TT
.
resetMonitoring()
,
RateLimit(boolean, String)
public final boolean isDeclared()
public final long getAge()
public final long getIdle()
public final long getMalCounter()
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(boolean, 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