private void closeWindow( K key, W w, Map<W, AccumT> accumulators, Map<W, Instant> minTimestamps, ProcessContext c) { AccumT accum = accumulators.remove(w); Instant timestamp = minTimestamps.remove(w); checkState(accum != null && timestamp != null); c.windowingInternals() .outputWindowedValue( KV.of(key, combineFn.extractOutput(key, accum)), timestamp, Arrays.asList(w), PaneInfo.ON_TIME_AND_ONLY_FIRING); }
@Override public OutputT read() { return combineFn.extractOutput(key, accum); }