Package org.eclipse.jetty.servlets
Class DoSFilter.RateTracker
- java.lang.Object
-
- org.eclipse.jetty.servlets.DoSFilter.RateTracker
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Runnable
- Direct Known Subclasses:
DoSFilter.FixedRateTracker
- Enclosing class:
- DoSFilter
static class DoSFilter.RateTracker extends java.lang.Object implements java.lang.Runnable, java.io.SerializableA RateTracker is associated with a connection, and stores request rate data.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classDoSFilter.RateTracker.Overage
-
Field Summary
Fields Modifier and Type Field Description protected javax.servlet.ServletContext_contextprotected java.lang.String_filterNameprotected java.lang.String_idprotected int_maxRequestsPerSecondprotected int_nextprotected long[]_timestampsprivate static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description RateTracker(javax.servlet.ServletContext context, java.lang.String filterName, java.lang.String id, int maxRequestsPerSecond)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddToRateTrackers(DoSFilter filter, DoSFilter.RateTracker tracker)java.lang.StringgetId()DoSFilter.OverLimitisRateExceeded(long now)protected voidremoveFromRateTrackers(DoSFilter filter, java.lang.String id)voidrun()voidsetContext(javax.servlet.ServletContext context)java.lang.StringtoString()
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
_filterName
protected final java.lang.String _filterName
-
_context
protected transient javax.servlet.ServletContext _context
-
_id
protected final java.lang.String _id
-
_maxRequestsPerSecond
protected final int _maxRequestsPerSecond
-
_timestamps
protected final long[] _timestamps
-
_next
protected int _next
-
-
Method Detail
-
isRateExceeded
public DoSFilter.OverLimit isRateExceeded(long now)
- Parameters:
now- the time now (in nanoseconds) used to calculate elapsed time since previous requests.- Returns:
- the current calculated request rate over the last second if rate exceeded, else null.
-
getId
public java.lang.String getId()
-
setContext
public void setContext(javax.servlet.ServletContext context)
-
removeFromRateTrackers
protected void removeFromRateTrackers(DoSFilter filter, java.lang.String id)
-
addToRateTrackers
private void addToRateTrackers(DoSFilter filter, DoSFilter.RateTracker tracker)
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-