Package org.eclipse.jetty.servlets
Class DoSFilter.RateTracker
java.lang.Object
org.eclipse.jetty.servlets.DoSFilter.RateTracker
- All Implemented Interfaces:
Serializable
,Runnable
- Direct Known Subclasses:
DoSFilter.FixedRateTracker
- Enclosing class:
DoSFilter
A RateTracker is associated with a connection, and stores request rate
data.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRateTracker
(javax.servlet.ServletContext context, String filterName, String id, int maxRequestsPerSecond) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addToRateTrackers
(DoSFilter filter, DoSFilter.RateTracker tracker) getId()
isRateExceeded
(long now) protected void
removeFromRateTrackers
(DoSFilter filter, String id) void
run()
void
setContext
(javax.servlet.ServletContext context) toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
_filterName
-
_context
protected transient javax.servlet.ServletContext _context -
_id
-
_maxRequestsPerSecond
protected final int _maxRequestsPerSecond -
_timestamps
protected final long[] _timestamps -
_next
protected int _next
-
-
Constructor Details
-
RateTracker
-
-
Method Details
-
isRateExceeded
- 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
-
setContext
public void setContext(javax.servlet.ServletContext context) -
removeFromRateTrackers
-
addToRateTrackers
-
run
public void run() -
toString
-