Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
firstline1
/**
 * The fixed-size sliding window specifications used for aggregations.
 * <p>
 * The semantics of sliding aggregation windows are: Compute the aggregate total for the unique current window, from
 * the current stream time to T1 (size) milliseconds before. Both the lower and upper time interval bounds are inclusive.
 *
 * Thus, the specified {@link TimeWindow} is not aligned to the epoch, but to record timestamps.
 * Aligned to the epoch means, that the first window starts at timestamp zero.
 * <p>
 * For time semantics, see {@link TimestampExtractor}.
 *
 * @see TimeWindows
 * @see SessionWindows
 * @see UnlimitedWindows
 * @see JoinWindows
 * @see KGroupedStream#windowedBy(Windows)
 * @see TimestampExtractor
 */

public final class SlidingWindows extends Windows<TimeWindow> {
    /** The size of the windows in milliseconds. */
    public final long sizeMs;

    /** The grace period in milliseconds. */
    private final long graceMs;

	public static SlidingWindows of(final Duration size) throws IllegalArgumentException{

		//allows the user to set the size of the window in milliseconds, must be larger than 0
    }

	public SlidingWindows grace(final Duration afterWindowEnd) throws IllegalArgumentException{

		//allows the user to set the "grace period" or retention time for the windows, cannot be negative

	}


}

...

Describe the new thing you want to do in appropriate detail. This may be fairly extensive and have large subsections of its own. Or it may be a few sentences. Use judgement based on the scope of the change.


Alter KStreamWindowAggregate to properly handle SlidingWindows.

Compatibility, Deprecation, and Migration Plan

...