`Windows` is not a generic window type for all windows. It's only used
for windows that can be "pre computed", ie, the window boundaries are
know a-priory (like TimeWindow or UnlimitedWindow).

We need to distinguish between TimeWindow/UnlimitedWindow and
SessionWindows in the API. There are two overloads
`KGroupedStream#windowedBy()` each accepting a different type of window
and both use a different operator implementation internally.

Does this answer your question?


-Matthias

On 12/23/18 5:23 AM, Boyang Chen wrote:
> Hey there,
> 
> I was working on some KTable API related stuff and noticed something a little 
> bit confusing.
> For class SessionWindows that defines the spec for a session window, it 
> doesn't have a base class:
> 
> public final class SessionWindows
> 
> On the other hand, the `TimeWindows` class is subclass of Windows:
> 
> public final class TimeWindows extends Windows<TimeWindow> {
> 
> Could someone with background knowledge give me some light on the reasoning 
> for not extending the Windows class for SessionWindows?
> 
> Thanks in advance!
> 
> Best,
> Boyang
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to