public final class UnlimitedWindows extends Windows<UnlimitedWindow>
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
.
TimeWindows
,
SessionWindows
,
JoinWindows
,
KGroupedStream.count(Windows, String)
,
KGroupedStream.count(Windows, org.apache.kafka.streams.processor.StateStoreSupplier)
,
KGroupedStream.reduce(Reducer, Windows, String)
,
KGroupedStream.reduce(Reducer, Windows, org.apache.kafka.streams.processor.StateStoreSupplier)
,
KGroupedStream.aggregate(Initializer, Aggregator, Windows, org.apache.kafka.common.serialization.Serde, String)
,
KGroupedStream.aggregate(Initializer, Aggregator, Windows, org.apache.kafka.streams.processor.StateStoreSupplier)
,
TimestampExtractor
Modifier and Type | Field and Description |
---|---|
long |
startMs
The start timestamp of the window.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
long |
maintainMs()
Return the window maintain duration (retention time) in milliseconds.
|
static UnlimitedWindows |
of()
Return an unlimited window starting at timestamp zero.
|
long |
size()
Return the size of the specified windows in milliseconds.
|
UnlimitedWindows |
startOn(long startMs)
Return a new unlimited window for the specified start timestamp.
|
UnlimitedWindows |
until(long durationMs)
Throws an
IllegalArgumentException because the retention time for unlimited windows is always infinite
and cannot be changed. |
java.util.Map<java.lang.Long,UnlimitedWindow> |
windowsFor(long timestamp)
Create all windows that contain the provided timestamp, indexed by non-negative window start timestamps.
|
public static UnlimitedWindows of()
public UnlimitedWindows startOn(long startMs) throws java.lang.IllegalArgumentException
startMs
- the window start timestartMs
java.lang.IllegalArgumentException
- if the start time is negativepublic java.util.Map<java.lang.Long,UnlimitedWindow> windowsFor(long timestamp)
Windows
windowsFor
in class Windows<UnlimitedWindow>
timestamp
- the timestamp window should get created forwindowStartTimestamp -> Window
entriespublic long size()
Long.MAX_VALUE
.public UnlimitedWindows until(long durationMs)
IllegalArgumentException
because the retention time for unlimited windows is always infinite
and cannot be changed.public long maintainMs()
Long.MAX_VALUE
.maintainMs
in class Windows<UnlimitedWindow>
Long.MAX_VALUE
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object