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

  • Predicate: The predicate that will be evaluated on element of port 1
  • BufferTime: The time in history, the elements will be kept in history
  • DeliverTime: The time in the future, the elements will be delivered

Example

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