Class GroupByPerSnapshotOutputRateLimiter
- java.lang.Object
-
- io.siddhi.core.query.output.ratelimit.snapshot.SnapshotOutputRateLimiter<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState>
-
- io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter
-
- All Implemented Interfaces:
Schedulable
public class GroupByPerSnapshotOutputRateLimiter extends SnapshotOutputRateLimiter<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState>
Implementation ofPerSnapshotOutputRateLimiterfor queries with GroupBy.
-
-
Field Summary
-
Fields inherited from class io.siddhi.core.query.output.ratelimit.snapshot.SnapshotOutputRateLimiter
lockWrapper, siddhiQueryContext, stateEventCloner, stateHolder, streamEventCloner
-
-
Constructor Summary
Constructors Constructor Description GroupByPerSnapshotOutputRateLimiter(Long value, WrappedSnapshotOutputRateLimiter wrappedSnapshotOutputRateLimiter, boolean groupBy, SiddhiQueryContext siddhiQueryContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected StateFactory<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState>init()voidpartitionCreated()voidprocess(ComplexEventChunk complexEventChunk)Sends the collected unique outputs per group by key upon arrival of timer event from scheduler.-
Methods inherited from class io.siddhi.core.query.output.ratelimit.snapshot.SnapshotOutputRateLimiter
cloneComplexEvent, sendToCallBacks, setQueryLock, setStateEventCloner, setStreamEventCloner
-
-
-
-
Constructor Detail
-
GroupByPerSnapshotOutputRateLimiter
public GroupByPerSnapshotOutputRateLimiter(Long value, WrappedSnapshotOutputRateLimiter wrappedSnapshotOutputRateLimiter, boolean groupBy, SiddhiQueryContext siddhiQueryContext)
-
-
Method Detail
-
init
protected StateFactory<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState> init()
- Specified by:
initin classSnapshotOutputRateLimiter<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState>
-
process
public void process(ComplexEventChunk complexEventChunk)
Sends the collected unique outputs per group by key upon arrival of timer event from scheduler.- Specified by:
processin interfaceSchedulable- Specified by:
processin classSnapshotOutputRateLimiter<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState>- Parameters:
complexEventChunk- IncomingComplexEventChunk
-
partitionCreated
public void partitionCreated()
- Specified by:
partitionCreatedin classSnapshotOutputRateLimiter<io.siddhi.core.query.output.ratelimit.snapshot.GroupByPerSnapshotOutputRateLimiter.RateLimiterState>
-
-