|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.excalibur.event.impl.RateLimitingPredicate
This enqueue predicate implements input rate policing.
Constructor Summary | |
RateLimitingPredicate(double targetRate,
int depth)
Create a new RateLimitingPredicate for the given sink, targetRate, and token bucket depth. |
|
RateLimitingPredicate(int depth)
Create a new RateLimitingPredicate for the given sink, bucket depth and no rate limit. |
Method Summary | |
boolean |
accept(java.lang.Object[] elements,
Sink sink)
Tests the given element for acceptance onto the m_sink. |
boolean |
accept(java.lang.Object element,
Sink sink)
Tests the given element for acceptance onto the m_sink. |
int |
getBucketSize()
Returns the number of tokens currently in the bucket. |
int |
getDepth()
Returns the current depth. |
double |
getTargetRate()
Returns the current rate limit. |
void |
setDepth(int depth)
Allows to set the bucket depth. |
void |
setTargetRate(double targetRate)
Allows to set the rate limit. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RateLimitingPredicate(int depth)
depth
- The token bucket depth.public RateLimitingPredicate(double targetRate, int depth)
targetRate
- The rate that is the target for this predicatedepth
- The token bucket depth.Method Detail |
public boolean accept(java.lang.Object element, Sink sink)
EnqueuePredicate
accept
in interface EnqueuePredicate
element
- The element to enqueuesink
- The sink that is used for this predicate
true
if the sink accepts the element;
false
otherwise.EnqueuePredicate.accept(Object, Sink)
public boolean accept(java.lang.Object[] elements, Sink sink)
EnqueuePredicate
accept
in interface EnqueuePredicate
elements
- The array of elements to enqueuesink
- The sink that is used for this predicate
true
if the sink accepts all the elements;
false
otherwise.EnqueuePredicate.accept(Object, Sink)
public double getTargetRate()
public int getDepth()
public int getBucketSize()
public void setTargetRate(double targetRate)
targetRate
- the current rate limit.public void setDepth(int depth)
depth
- The bucket depth as an integer.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |