Class UnlimitedWindows

java.lang.Object
org.apache.kafka.streams.kstream.Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
org.apache.kafka.streams.kstream.UnlimitedWindows

public final class UnlimitedWindows
extends Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
The unlimited window specifications used for aggregations.

An unlimited time window is also called landmark window. It has a fixed starting point while its window end is defined as infinite. With this regard, it is a fixed-size window with infinite window size.

For time semantics, see TimestampExtractor.

See Also:
TimeWindows, SessionWindows, JoinWindows, KGroupedStream.windowedBy(Windows), TimestampExtractor
  • Field Details

    • startMs

      public final long startMs
      The start timestamp of the window.
  • Method Details

    • of

      public static UnlimitedWindows of()
      Return an unlimited window starting at timestamp zero.
    • startOn

      public UnlimitedWindows startOn​(Instant start) throws IllegalArgumentException
      Return a new unlimited window for the specified start timestamp.
      Parameters:
      start - the window start time
      Returns:
      a new unlimited window that starts at start
      Throws:
      IllegalArgumentException - if the start time is negative or can't be represented as long milliseconds
    • windowsFor

      public Map<Long,​org.apache.kafka.streams.kstream.internals.UnlimitedWindow> windowsFor​(long timestamp)
      Description copied from class: Windows
      Create all windows that contain the provided timestamp, indexed by non-negative window start timestamps.
      Specified by:
      windowsFor in class Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
      Parameters:
      timestamp - the timestamp window should get created for
      Returns:
      a map of windowStartTimestamp -> Window entries
    • size

      public long size()
      Return the size of the specified windows in milliseconds. As unlimited windows have conceptually infinite size, this methods just returns Long.MAX_VALUE.
      Specified by:
      size in class Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
      Returns:
      the size of the specified windows which is Long.MAX_VALUE
    • gracePeriodMs

      public long gracePeriodMs()
      Description copied from class: Windows
      Return the window grace period (the time to admit out-of-order events after the end of the window.) Delay is defined as (stream_time - record_timestamp).
      Specified by:
      gracePeriodMs in class Windows<org.apache.kafka.streams.kstream.internals.UnlimitedWindow>
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object