NebulaStream  0.6.213
NebulaStream is a data and application management framework for the internet of things
NES::Windowing::WatermarkProcessor Class Reference

This class implements a watermark processor for a single origin. It processes all watermark updates from one specific origin and applies all updates in sequential order. @assumptions This watermark processor assumes strictly monotonic update sequence numbers. To handle out of order processing, it stores in flight updates in a transaction log. More...

#include <WatermarkProcessor.hpp>

Public Member Functions

 WatermarkProcessor ()
 
void updateWatermark (WatermarkTs ts, SequenceNumber sequenceNumber)
 In this implementation, update watermark processes a watermark barrier and applies all outstanding updates from the transaction log. To this end, it leverage the implicit sorting of the priority queue. More...
 
WatermarkTs getCurrentWatermark () const
 Returns the current watermark. More...
 
bool isWatermarkSynchronized () const
 Returns success if there are no tuples with smaller sequence number that haven't arrived yet than current seen last tuple. More...
 

Detailed Description

This class implements a watermark processor for a single origin. It processes all watermark updates from one specific origin and applies all updates in sequential order. @assumptions This watermark processor assumes strictly monotonic update sequence numbers. To handle out of order processing, it stores in flight updates in a transaction log.

Constructor & Destructor Documentation

◆ WatermarkProcessor()

NES::Windowing::WatermarkProcessor::WatermarkProcessor ( )
explicitdefault

Member Function Documentation

◆ getCurrentWatermark()

WatermarkTs NES::Windowing::WatermarkProcessor::getCurrentWatermark ( ) const

Returns the current watermark.

Returns
WatermarkTs

◆ isWatermarkSynchronized()

bool NES::Windowing::WatermarkProcessor::isWatermarkSynchronized ( ) const

Returns success if there are no tuples with smaller sequence number that haven't arrived yet than current seen last tuple.

Returns
Success

◆ updateWatermark()

void NES::Windowing::WatermarkProcessor::updateWatermark ( WatermarkTs  ts,
SequenceNumber  sequenceNumber 
)

In this implementation, update watermark processes a watermark barrier and applies all outstanding updates from the transaction log. To this end, it leverage the implicit sorting of the priority queue.

Parameters
watermarkBarrier

The documentation for this class was generated from the following files: