#pragma once #include #include namespace NKikimr { namespace NMiniKQL { class TWatermarkTracker { public: TWatermarkTracker(ui64 lag, ui64 granularity); std::optional HandleNextEventTime(ui64 ts); private: ui64 CalcNextEventWithWatermark(ui64 ts); std::optional CalcLastWatermark(); private: ui64 NextEventWithWatermark = 0; const ui64 Delay; const ui64 Granularity; }; } // NMiniKQL } // NKikimr