static class DoSFilter.RateTracker
extends java.lang.Object
implements java.lang.Runnable, javax.servlet.http.HttpSessionBindingListener, javax.servlet.http.HttpSessionActivationListener, java.io.Serializable
Modifier and Type | Field and Description |
---|---|
protected javax.servlet.ServletContext |
_context |
protected java.lang.String |
_filterName |
protected java.lang.String |
_id |
protected int |
_next |
protected long[] |
_timestamps |
protected int |
_type |
private static long |
serialVersionUID |
Constructor and Description |
---|
RateTracker(javax.servlet.ServletContext context,
java.lang.String filterName,
java.lang.String id,
int type,
int maxRequestsPerSecond) |
Modifier and Type | Method and Description |
---|---|
protected void |
addToRateTrackers(DoSFilter filter,
DoSFilter.RateTracker tracker) |
java.lang.String |
getId() |
int |
getType() |
boolean |
isRateExceeded(long now) |
protected void |
removeFromRateTrackers(DoSFilter filter,
java.lang.String id) |
void |
run() |
void |
sessionDidActivate(javax.servlet.http.HttpSessionEvent se) |
void |
sessionWillPassivate(javax.servlet.http.HttpSessionEvent se) |
void |
setContext(javax.servlet.ServletContext context) |
java.lang.String |
toString() |
void |
valueBound(javax.servlet.http.HttpSessionBindingEvent event) |
void |
valueUnbound(javax.servlet.http.HttpSessionBindingEvent event) |
private static final long serialVersionUID
protected final java.lang.String _filterName
protected transient javax.servlet.ServletContext _context
protected final java.lang.String _id
protected final int _type
protected final long[] _timestamps
protected int _next
public RateTracker(javax.servlet.ServletContext context, java.lang.String filterName, java.lang.String id, int type, int maxRequestsPerSecond)
public boolean isRateExceeded(long now)
now
- the time now (in milliseconds)public java.lang.String getId()
public int getType()
public void valueBound(javax.servlet.http.HttpSessionBindingEvent event)
valueBound
in interface javax.servlet.http.HttpSessionBindingListener
public void valueUnbound(javax.servlet.http.HttpSessionBindingEvent event)
valueUnbound
in interface javax.servlet.http.HttpSessionBindingListener
public void sessionWillPassivate(javax.servlet.http.HttpSessionEvent se)
sessionWillPassivate
in interface javax.servlet.http.HttpSessionActivationListener
public void sessionDidActivate(javax.servlet.http.HttpSessionEvent se)
sessionDidActivate
in interface javax.servlet.http.HttpSessionActivationListener
public void setContext(javax.servlet.ServletContext context)
protected void removeFromRateTrackers(DoSFilter filter, java.lang.String id)
protected void addToRateTrackers(DoSFilter filter, DoSFilter.RateTracker tracker)
public void run()
run
in interface java.lang.Runnable
public java.lang.String toString()
toString
in class java.lang.Object