Hi Elias,
yes, reduce, fold, and the aggregation functions (sum, min, max, minBy, maxBy) on WindowedStream preform eager aggregation, i.e., the functions are apply for each value that enters the window and the state of the window will consist of a single value. In case you need access to the Window object (e.g., to include the start or end time), there are overloaded versions of apply that take a ReduceFunction or FoldFunction and an additional WindowFunction. These versions eagerly apply the Reduce or FoldFunction and finally the WindowFunction when the window is closed on the aggregated value (the iterator will serve a single value).
Cheers, Fabian