This operator can be used to reduce data rate. It buffers incoming elements on port 0 (left) for bufferTime and evaluates a predicate over the elements on port 1 (right). If the predicate for the current element e evaluates to true, all elements from port 0 that are younger than e.startTimeStamp()-bufferTime will be enriched with e and delivered for deliverTime. Each time the predicate evaluates to true, the deliverTime will be increased.

Parameter

Example

output = BUFFEREDFILTER({predicate = 'id == 2 || id == 4 || id == 10', bufferTime = 5000, deliverTime = 20000}, left, right)