Interface Evictor<T,W extends Window>

Type Parameters:
T - The type of elements that this Evictor can evict.
W - The type of Windows on which this Evictor can operate.
All Superinterfaces:
Serializable
All Known Implementing Classes:
CountEvictor

@PublicEvolving public interface Evictor<T,W extends Window> extends Serializable
An Evictor can remove elements from a pane before/after the evaluation of WindowFunction and after the window evaluation gets triggered by a Trigger

A pane is the bucket of elements that have the same key (assigned by the KeySelector) and same Window. An element can be in multiple panes of it was assigned to multiple windows by the WindowAssigner. These panes all have their own instance of the Evictor.

  • Method Details

    • evictBefore

      void evictBefore(Iterable<TimestampedValue<T>> elements, int size, W window, Evictor.EvictorContext evictorContext)
      Optionally evicts elements. Called before windowing function.
      Parameters:
      elements - The elements currently in the pane.
      size - The current number of elements in the pane.
      window - The Window
      evictorContext - The context for the Evictor
    • evictAfter

      void evictAfter(Iterable<TimestampedValue<T>> elements, int size, W window, Evictor.EvictorContext evictorContext)
      Optionally evicts elements. Called after windowing function.
      Parameters:
      elements - The elements currently in the pane.
      size - The current number of elements in the pane.
      window - The Window
      evictorContext - The context for the Evictor