Class OutputRateLimiter<S extends State>
- java.lang.Object
-
- io.siddhi.core.query.output.ratelimit.OutputRateLimiter<S>
-
- Type Parameters:
S- current state of the RateLimiter
- All Implemented Interfaces:
PartitionCreationListener
- Direct Known Subclasses:
AllPerEventOutputRateLimiter,AllPerTimeOutputRateLimiter,FirstGroupByPerEventOutputRateLimiter,FirstGroupByPerTimeOutputRateLimiter,FirstPerEventOutputRateLimiter,FirstPerTimeOutputRateLimiter,LastGroupByPerEventOutputRateLimiter,LastGroupByPerTimeOutputRateLimiter,LastPerEventOutputRateLimiter,LastPerTimeOutputRateLimiter,PassThroughOutputRateLimiter,WrappedSnapshotOutputRateLimiter
public abstract class OutputRateLimiter<S extends State> extends Object implements PartitionCreationListener
Abstract parent implementation of Output Rate Limiting. Output Rate Limiting is used to throttle the output of Siddhi queries based on various criteria.
-
-
Field Summary
Fields Modifier and Type Field Description protected LatencyTrackerlatencyTrackerprotected LockWrapperlockWrapperprotected OutputCallbackoutputCallbackprotected List<QueryCallback>queryCallbacksprotected SiddhiQueryContextsiddhiQueryContextprotected StateHolder<S>stateHolder
-
Constructor Summary
Constructors Constructor Description OutputRateLimiter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddQueryCallback(QueryCallback callback)OutputCallbackgetOutputCallback()booleanhasCallBack()protected abstract StateFactory<S>init()voidinit(LockWrapper lockWrapper, boolean groupBy, SiddhiQueryContext siddhiQueryContext)abstract voidprocess(ComplexEventChunk complexEventChunk)voidprocess(List<ComplexEventChunk> complexEventChunks)voidremoveQueryCallback(QueryCallback callback)voidsendToCallBacks(ComplexEventChunk complexEventChunk)voidsetOutputCallback(OutputCallback outputCallback)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.siddhi.core.partition.PartitionCreationListener
partitionCreated
-
-
-
-
Field Detail
-
queryCallbacks
protected List<QueryCallback> queryCallbacks
-
outputCallback
protected OutputCallback outputCallback
-
latencyTracker
protected LatencyTracker latencyTracker
-
siddhiQueryContext
protected SiddhiQueryContext siddhiQueryContext
-
lockWrapper
protected LockWrapper lockWrapper
-
stateHolder
protected StateHolder<S extends State> stateHolder
-
-
Method Detail
-
init
public void init(LockWrapper lockWrapper, boolean groupBy, SiddhiQueryContext siddhiQueryContext)
-
init
protected abstract StateFactory<S> init()
-
sendToCallBacks
public void sendToCallBacks(ComplexEventChunk complexEventChunk)
-
addQueryCallback
public void addQueryCallback(QueryCallback callback)
-
removeQueryCallback
public void removeQueryCallback(QueryCallback callback)
-
process
public abstract void process(ComplexEventChunk complexEventChunk)
-
process
public void process(List<ComplexEventChunk> complexEventChunks)
-
getOutputCallback
public OutputCallback getOutputCallback()
-
setOutputCallback
public void setOutputCallback(OutputCallback outputCallback)
-
hasCallBack
public boolean hasCallBack()
-
-