Class PriorEventBufferMulti

java.lang.Object
com.espertech.esper.common.internal.view.prior.PriorEventBufferMulti
All Implemented Interfaces:
ViewUpdatedCollection, RelativeAccessByEventNIndex

public class PriorEventBufferMulti extends Object implements ViewUpdatedCollection, RelativeAccessByEventNIndex
Buffers view-posted insert stream (new data) and remove stream (old data) events for use with determining prior results in these streams, for multiple different prior events.

Buffers only exactly those events in new data and old data that are being asked for via the 2 or more 'prior' functions that specify different indexes. For example "select prior(2, price), prior(1, price)" results in on buffer instance handling both the need to the immediatly prior (1) and the 2-events-ago event (2).

As all views are required to post new data and post old data that removes the new data to subsequent views, this buffer can be attached to all views and should not result in a memory leak.

When the buffer receives old data (rstream) events it removes the prior events to the rstream events from the buffer the next time it receives a post (not immediatly) to allow queries to the buffer.