Class PriorEventBufferSingle

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

public class PriorEventBufferSingle extends Object implements ViewUpdatedCollection, RelativeAccessByEventNIndex
Buffers view-posted insert stream (new data) and remove stream (old data) events for use with serving prior results in these streams, for a single prior event.

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.